CentOS 6.6 下通过源码安装MySQL 5.6.12
1、查看是否安装旧版本
# rpm -qa | grep mysql
2、卸载MySQL旧版本
# rpm -e mysql --普通删除模式
# rpm -e --nodeps mysql --强力删除模式,提示有依赖的文件强行删除
3、安装库文件
# yum install -y make gcc-c++ bison ncurses-devel mysql
4、下载编译安装cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz
# tar -zxvf cmake-2.8.12.tar.gz
# cd cmake-2.8.12
# ./bootstrap
# make
# make install
5、下载MySQL,并编译安装
# wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.12.tar.gz
# tar -zxvf mysql-5.6.12.tar.gz
# cd mysql-5.6.12
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
# make
# make install
6、创建MySQL属主、属组,并设置目录权限
# groupadd -r -g 400 mysql
# useradd -u 400 -g 400 -r -M -s /sbin/nologin mysql
# chown -R mysql:mysql /usr/local/mysql
# mkdir /var/lib/mysql
# chown -R mysql:mysql /var/lib/mysql --socket文件存放位置
7、初始化MySQL数据库
# cd /usr/local/mysql
# scripts/mysql_install_db
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,
找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,
这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完成后,在 /etc目录下会存在一个my.cnf,
需要将此文件更名为其他的名字,
如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
8、修改/etc/my.cnf配置文件
# vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql --安装时定义的安装目录
datadir=/usr/local/mysql/data --安装时定义的数据存放目录
port=3306 --安装时定义的监听端口
socket=/var/lib/mysql/mysql.sock --注意此目录权限问题
9、添加MySQL自启动服务
# cd /root/mysql-5.6.12/support-files
# cp mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld --修改此目录权限,否则MySQL无法启动
# chkconfig mysqld on
# service mysqld start
10、配置环境变量
# vi /etc/profile
在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
保存后,让配置立即生效
# source /etc/profile
11、设置MySQL密码
# mysql -u root
mysql>use mysql;
mysql>update user set password = password('新密码') where user = 'root';
mysql>flush privileges;
12、配置防火墙
防火墙的3306端口默认没有开启,远程访问,需要开启这个端口
# vi /etc/sysconfig/iptables
添加
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
保存后,终端内运行下面的命令,刷新防火墙配置
# service iptables restart
安装完成
1、查看是否安装旧版本
# rpm -qa | grep mysql
2、卸载MySQL旧版本
# rpm -e mysql --普通删除模式
# rpm -e --nodeps mysql --强力删除模式,提示有依赖的文件强行删除
3、安装库文件
# yum install -y make gcc-c++ bison ncurses-devel mysql
4、下载编译安装cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz
# tar -zxvf cmake-2.8.12.tar.gz
# cd cmake-2.8.12
# ./bootstrap
# make
# make install
5、下载MySQL,并编译安装
# wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.12.tar.gz
# tar -zxvf mysql-5.6.12.tar.gz
# cd mysql-5.6.12
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
# make
# make install
6、创建MySQL属主、属组,并设置目录权限
# groupadd -r -g 400 mysql
# useradd -u 400 -g 400 -r -M -s /sbin/nologin mysql
# chown -R mysql:mysql /usr/local/mysql
# mkdir /var/lib/mysql
# chown -R mysql:mysql /var/lib/mysql --socket文件存放位置
7、初始化MySQL数据库
# cd /usr/local/mysql
# scripts/mysql_install_db
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,
找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,
这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完成后,在 /etc目录下会存在一个my.cnf,
需要将此文件更名为其他的名字,
如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
8、修改/etc/my.cnf配置文件
# vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql --安装时定义的安装目录
datadir=/usr/local/mysql/data --安装时定义的数据存放目录
port=3306 --安装时定义的监听端口
socket=/var/lib/mysql/mysql.sock --注意此目录权限问题
9、添加MySQL自启动服务
# cd /root/mysql-5.6.12/support-files
# cp mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld --修改此目录权限,否则MySQL无法启动
# chkconfig mysqld on
# service mysqld start
10、配置环境变量
# vi /etc/profile
在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
保存后,让配置立即生效
# source /etc/profile
11、设置MySQL密码
# mysql -u root
mysql>use mysql;
mysql>update user set password = password('新密码') where user = 'root';
mysql>flush privileges;
12、配置防火墙
防火墙的3306端口默认没有开启,远程访问,需要开启这个端口
# vi /etc/sysconfig/iptables
添加
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
保存后,终端内运行下面的命令,刷新防火墙配置
# service iptables restart
安装完成