环境 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) |