mysql-5.6.17编译安装和常见问题
以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单。最近换了5.6版本的MySQL,安装过程出现了不少问题。
1. 卸载原来版本的MySQL
检查已经安装的MySQL:
# rpm -qa |grep mysql
检查到mysql以后卸载:
# rpm -e mysql //卸载mysql,加--nodeps可以强制卸载
2. 下载MySQL
# cd /usr/local/mysql# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz# tar zxvf mysql-5.6.17.tar.gz# mv ./mysql-5.6.17 /usr/local/mysql# cd /usr/local/mysql
3. 安装依赖包
# yum -y install cmake gcc-c++ cmake bison-devel ncurses-devel
4. 编译
# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //basedir的目录,刚刚解压到这个目录-DMYSQL_DATADIR=/data/mysql/\ //数据存放datadir目录,自定义-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
cmake时间很长,结束后执行下面命令来查看返回值,如果是0说明没有问题。
# echo $?
执行编译和安装:
# make && make install
5. 准备工作
mysql用户在以前安装的时候已经建立,目录权限需要给mysql用户:
# chown -R /usr/local/mysql# chown -R /data/mysql
mysql.sock因为权限问题,会导致启动MySQL失败,先将权限给定:
# chmod -R 777 /var/lib/mysql
6. 初始化和配置文件的修改
./scripts/mysql_install_db添加x权限
# chmod a+x ./scripts/mysal_install_db
初始化:
# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
配置文件的复制和配置:
# cp ./support-files/mysql.server /etc/init.d/mysqld# cp my.cnf /etc/my.cnf //覆盖原来的my.cnf文件# vim /etc/init.d/mysqldbasedir=/usr/local/mysql //补充basedirdatadir=/data/mysql //补充datadir
启动mysqld,将mysqld加入开机启动列表:
# chkconfig --add mysqld# chkconfig mysqld on# /etc/init.d/mysqld start //启动mysqld# ps aux |grep mysqld //查看mysqld的启动进程