1 安装平台及软件版本
安装时所用的操作系统为RedHat Linux AS4 或AS5。MySQL 版本采用5.1.40,到
http://dev.mysql.com/downloads/页面下载mysql-5.1.40.tar.gz。
2 MySQL 编译安装
先解压源码包,然后切换到相应的目录,再参照mysql-5.1.40/ 目录下的INSTALL-SOURCE 文件中的”MySQL Installation Using a Source Distribution”进行安装,具体步骤如下:
2.1 解压源码包
#tar -zxvf mysql-5.1.40.tar.gz
#cd mysql-5.1.40
.2.2 建立mysql 用户组和用户
#grep mysql /etc/group
#groupadd mysql
#grep mysql /etc/passwd
#useradd mysql -g mysql -c "MySQL Server" -M -s /sbin/nologin
-g:指定新增用户所属的用户组
-c:对新增用户的附加说明
-M:不建立使用者目录
-s:定义使用的SHELL,/sbin/nologin 表示用户不能登陆系统
2.3 编译安装
#./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=all --with-plugins=all --enable-thread-safe-client --with-debug --enable-assembler
--prefix=/usr/local/mysql 指定mysql 安装目录
--with-charset=utf8 设置mysql 的默认字符集为UTF8
--with-collation=utf8_general_ci 设置mysql 的默认字符校对规则
--with-extra-charsets=all 添加其它字符集支持
--with-plugins=all 添加INNODB 支持(MySQL5.1 以后默认不支持INNODB)
--enable-thread-safe-client 编译线程安全版的MySQL 客户端库,即libmysqlclient_r 库
--with-debug 包含调试代码,能发现一些错误并提供输出
--enable-assembler 使用一些字符函数的汇编版本
#make 将源文件编译成可执行的二进制文件
(这里需要较长时间)
#make install 将二进制文件和配置文件等安装到相应的目录下
2.4 设置开机启动 MySQL
#cp support-files/mysql.server /etc/init.d/mysqld
#chmod +x /etc/init.d/mysqld
#chkconfig --add mysqld
去除的话:/sbin/chkconfig --del mysql
#chkconfig --level 345 mysqld on
2.5 初始化数据库
#ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
#ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
#cp support-files/my-large.cnf /etc/my.cnf
#cd /usr/local/mysql
#chown -R mysql.mysql .
#bin/mysql_install_db --user=mysql
#/usr/local/mysql/bin/mysqld_safe --user=mysql &
#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
#bin/mysql_secure_installation
设置root 密码,清除test 表,禁用匿名登录等
2.6 其它设置
修改MySQL root 用户密码
#mysqladmin -uroot password “PASSWORD”
配置远程连接
#mysql -uroot -padmin
mysql > use mysql;
mysql > update user set host = '%' where user = 'root';
mysql > grant all on *.* to root@'%' with grant option;
mysql > flush privileges;
2.7 备注
2.7.1 Can't connect to local MySQL server through socket 'xxxxxxx/mysql.sock' (2)的问题
当碰到这类问题,要在/tmp目录下找mysql.sock文件,如果找到了,就修改 /etc/my.cnf 文件,把socket值改为文件的目录 /tmp/mysql.sock
然后增加一个link
#ln -s /tmp/mysql.sock xxxxxxx/mysql.sock
2.8 开启事务调度器
修改 /etc/my.cnf,在 [mysqld]下增加如下语句,
#event_scheduler auto run event_scheduler=1
event_scheduler=1
为数据库保活,把
interactive_timeout = 28800
wait_timeout = 28800
修改为:
interactive_timeout = 288000
wait_timeout = 2888000
或更大