编译mysql5
代码:./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock \
--with-extra-charsets=all \
--with-charset=utf8 \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--with-plugins=all \ --这样才会支持innodb.在mysql里可以执行show engines命令来查看当前的mysql服务器所支持的存储引擎.
--with-pthread \
--enable-thread-safe-client
make
make install
groupadd mysql
useradd -g mysql mysql
cp support-files/my-mediumf /etc/myf
在myf里增加user=mysql
代码:cd /usr/local/mysql
bin/mysql_install_db --user=mysql
chown -R root . ; chown -R mysql data ;chgrp -R mysql .
bin/mysqld_safe --user=mysql &
mysqladmin -uroot password 'new-password'
启动mysql:
代码:/usr/local/mysql/bin/mysqld_safe &
关闭mysql:
代码:/usr/local/mysql/bin/mysqladmin shutdown
mysql下载之后是个文件夹代码:cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
可以使用server mysqld restart启动
debian下安装mysql的注意事项--innodb
如果从源代码编译安装mysql,缺省安装时,是没有innodb引擎的.所以,在configure的时候,要加入--with- plugins=all(或者max),这样才会支持innodb.在mysql里可以执行show engines命令来查看当前的mysql服务器所支持的存储引擎.
sqlperformanceblog/...iled-mysql-51/
多线程支持方面只要注意选择--with-pthread和--enable-thread-safe-client选项就可以了。第一项可以指明使用 posix线程(unix的编译方式可能会有些不一样,因为unix的内核线程工作方式与linux线程工作方式有比较大的区别,尤其freebsd)。
my-smallf 最小配置安装,内存<=64M,数据数量最少
my-largef 内存=512M
my-mediumf 32M<;内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-hugef 1G<;内存<2G,服务器主要运行mysql
my-innodb-heavy-4Gf 最大配置安装,内存至少4G
代码:delete from mysql.user where User='';
delete from mysql.user where Host='127.0.0.1';
delete from mysql.user where Host='localhost.localdomain';
update user set Host='%';
mysql 操作:
查看mysql状态:
/etc/rc.d/init.d/mysqld status
开启mysql
service mysqld start
********************************************************************************************************************
MySql安装参数说明:
-static静态编译
--enable-static
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
以静态方式编译客户端和服务端,能提高13%性能
--enable-thread-safe-client
以线程方式编译客户端
--without-innodb
去掉innodb表支持,innodb是一种支持事务处理的表,适合企业级应用
--without-isam
去掉isam表类型支
持,现在很少用了,isam表是一种依赖平台的表
--without-ndb-debug
取消导航调试
--localstatedir=/usr/local/mysql/var/
日志文件目录
--with-server-suffix=-enterprise-gpl
给MySQL加个后缀名,在用mysql登录的时候在版本号的后面可以看到
--without-debug
去除诊断模式,如果用--with-debug=full编译,大多数查询慢20%
--with-big-tables
大表支持
--with-extra-charsers=gbk,gb2312,utf8
设置支持gbk,gb2312,utf8字符集
--with-pthread
强制使用pthread库(posix线程库)
-
-enable-assembler
使用一些字符函数来汇编版本
--with-federated-storage-engine
这个参数已经被废除,代替它的是--with-plugin系列
cp support-files/my-mediumf /usr/local/mysql/myf
mysql/support-files里面有配置文件范本,根据实际情况选择或者更改
/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --defaults-file=/usr/local/mysql/myf --pid-file=/usr/local/mysql/mysql.pid
设定默认值:默认空间路径;默认数据文件路径;默认用户;默认配置文件路径;默认PID文件路径。
-------------------------------------------------------
本脚步未加入的编译参数:
--with-charset=utf8
设置默认字符集
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字链接提高7.5%性能,所以在windows下mysql性能肯定不如 unix
--with-tcp-port=3306
指定MySQL实例将监听TCP 3306端口
********************************************************************************************************************
卸载MYSQL
如果是RPM包安装的,可以这样卸载:rmp -e mysql 如果是原代码编译安装的,直接删除安装目录就可以了使用#rpm -e --nodeps mysql,其余的用#rpm -e mysql-version
********************************************************************************************************************
另一份资料安装MYSQL,这个实践过:
平台:solaris 8 sparc 64bit
编译器:gcc 3.3.2
1.安装所需要的基本软件包必须安装,比如:
libtools,automake,autoconf,gcc 3.3.2, libncursess,ncurses等...
2.下载解压mysql-4.0.(sql)
3.配置环境和编译
# cd mysql-4.0.17-sol8-sparc-64bit
# CC='gcc' CFLAGS='-DBIG_TABLES -DHAVE_MYSYS_NEW -m64' CXX='gcc' CXXFLAGS='-DBIG_TABLES -DHAVE_MYSYS_NEW -m64' LDFLAGS='-m64' ASFLAGS=''
注意:在很多资料中都有不同的配置方法. 针对 sparc-64bit 的solaris 8中,必需使用以上的配置.
# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-comment=Official MySQL-max binary --with-extra-charsets=complex --with-server-suffix=-max --enable-thread-safe-client --enable-local-infile CXX=gcc CFLAGS=-DBIG_
TABLES -DHAVE_MYSYS_NEW -m64 CXXFLAGS=-DBIG_TABLES -DHAVE_MYSYS_NEW -m64 LDFLAGS=-m64 --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared --with-berkeley-db --with-raid --with-embedded-server --with-innodb CC=gcc
注意:上面的./configure 的参数很长,在有的情况下操作系统不支持过长的参数,所以上面的配置可以根据提示去掉一些,我遇到的情况就是这样,为此我去掉了一些不是很必要的参数,修改后如下:
#./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-comment=Official --with-extra-charsets=complex CFLAGS=-DBIG_TABLES -DHAVE_MYSYS_NEW - CXXFLAGS=-DBIG_TABLES --with-embedded-server --with-innodb
注意:在没有按照以上配置时,我编译时候经常遇到很多问题,最为常见的是:不libncurses.so.5导致编译失败.
4.make
#make
#make install
# ./scripts/mysql_install_db
# chown -R mysql /usr/local/mysql //这里涉及到后面的启动权限的问题,有的资料上是
chown -R root /usr/local/mysql.
经过经验实践,我这里采用chown -R mysql /usr/local/mysql
# chown -R mysql /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql
5.启动mysql
# /usr/local/mysql/bin/mysqld_safe &
334
Starting mysqld daemon with databases from /usr/local/mysql/data
# ps -ef | grep mysql
root 5424 5375 0 14:22:29 pts/8 0:00 /bin/sh ./bin/mysqld_safe
mysql 5442 5424 0 14:22:29 pts/8 0:01 /usr/local/mysql/bin/mysqld --defaults-extra-file=/usr/local/mysql/data/myf
root 5492 5375 0 15:06:54 pts/8 0:00 grep mysql
如果看到类似的信息,就说明mysql已经正常启动了.
这里可以把/usr/local/mysql/bin加到path中,方便下面运行mys。ql指令.
6.设置mysql启动脚本 --最后一定要给755的权限。
#cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
#ln -s /etc/init.d/mysqld /etc/rc2.d/Kmysqld
#ln -s /etc/init.d/mysqld /etc/rc2.d/Smysqld
7.修改mysql的root密码
# mysqladmin -u root -p password 'passwd'(设置你的密码)
Enter passwod直接回车)
****************************************************************************************************************************************************************************************************************************************
Linxu最完整的安装MYSQL步骤
本文以在Redhat上使用tar包安装mysql为例。以前安装一些软件时也安装过mysql,但都是针对那个软件的,一些细节部分稍有些不同,比如configure的参数部分,根据不同的使用用途,参数也有所不同,本篇是专门说
明mysql编译安装的。以后如果有小改动也会更新在这里!
开始安装:
# wget sql/download_file/gz/5.0/mysql-5.0.
# tar zxvf mysql-5.0.
# cd mysql-5.0.22
使用# ./configure --help命令可以可看编译参数说明,在没有特殊要求的情况下,使用下面的这个例子
就可以了:)
如果遇到错误或对mysql有特殊要求时,就要查看一下是否需要添加或删除某个参数了。
# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data/
配置成功出现“Thank you for choosing MySQL/" target="_blank" class="infotextkey">MySQL!”.
# make && make install
Mysql配置
# cp ./support-files/mysql.server /etc/init.d/mysql //mysql服务启动文件
# groupadd mysql //创建mysql用户组
# useradd -g mysql mysql //创建mysql用户
# chmod 777 /etc/init.d/mysql //修改mysql服务启动文件权限
# /usr/local/mysql/bin/mysql_install_db --user=mysql //创建mysql初始db
上一行中初始化db时添加了—user=mysql这个参数,所以就不用再单独修改data数据库文件夹的权限了,如果权限遇到问题时使用如下命令修改chown -R mysql:mysql /usr/local/mysql/data/。
# service mysql start //启动mysql服务(stop/start/restart)
# /usr/local/mysql/bin/mysqladmin –u root –p password 'rootpw' //设置密码为rootpw
Enter password: //默认密码为空,所以直接回车
# /usr/local/mysql/bin/mysql –u root –p
Enter password: //输入新密码后,登录成功
查看一下数据库试试:
mysql>; show databases; //查看所有数据库列表
mysql>; use mysql; //打开或使用mysql数据库
mysql>; show tables; //查看当前打开的数据下面的所有表
确认OK,mysql安装配置完毕。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论