> 数据库 > MySQL >

Centos 下源码升级mysql 5.5.x至 5.6.x

环境
Centos 5.x、Centos 6.x
mysql 5.5.x to mysql 5.6.x
mysql引擎 Myisam
下载mysql 5.6.x
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/
mysql-5.6.28.tar.gz/from/http://cdn.mysql.com
原来数据目录:/data/mysql
安装目录:/usr/local/webserver/mysql/



tar -zxvf mysql-5.6.28.tar.gz

cd mysql-5.6.28

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_DATADIR=/data/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DWITH_EMBEDDED_SERVER=1 -DCMAKE_THREAD_PREFER_PTHREAD=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0

make && make install

service mysqld stop  #停掉原有MySQL服务

cp /usr/local/webserver/mysql/support-files/my-default.cnf /etc/my.cnf  #覆盖原有的my.cnf

vi /etc/my.cnf   #加入并修改以下 basedir = /usr/local/webserver/mysql #数据库安装目录 datadir = /data/mysql #原数据库数据目录

skip-grant-tables #由于升级需要,跳过权限验证 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 中去掉STRICT_TRANS_TABLES,禁用数据严格模式

cp /usr/local/webserver/mysql/support-files/mysql.server /etc/init.d/mysqld #覆盖mysqld服务 service mysqld start #重启新版本MySQL

/usr/local/webserver/mysql/bin/mysql_upgrade -uroot -p #执行表权限升级 /usr/local/webserver/mysql/bin/mysqlcheck --all-databases -p密码 #检查所有数据库

vi /etc/my.cnf  #去掉skip-grant-tables  service mysqld restart #数据库升级成功

编译参数可参照MySQL官方文档:
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html#option_cmake_storage_engine_options


(责任编辑:IT)