mysql-5.6.17编译安装和常见问题
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/mysqld basedir=/usr/local/mysql //补充basedir datadir=/data/mysql //补充datadir
启动mysqld,将mysqld加入开机启动列表:
# chkconfig --add mysqld # chkconfig mysqld on # /etc/init.d/mysqld start //启动mysqld # ps aux |grep mysqld //查看mysqld的启动进程