/***************************************************** mysql 5.6.19 升级到5.6.21 *****************************************************/ 升级前做好备份是必须的! ----1.查看现有版本号mysql的数据文件夹位置 show variables like '%datadir%'; /usr/local/mysql01/data/ ---2.安装新版本号MySQL 2.1.安装编译代码须要的包 yum -y install gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* make cmake bison bison-devel libaio 2.2.为mysql新建组和用户 #groupadd mysql #useradd -g mysql mysql 2.3.设置用户的系统资源限制 #vi /etc/security/limits.conf mysql soft nproc 2047 mysql hard nproc 16384 mysql soft nofile 1024 mysql hard nofile 65536 2.4.编译安装新版本号mysql tar xvf mysql-5.6.21.tar.gz cd mysql-5.6.21 编译安装到新位置 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql02 -DMYSQL_DATADIR=/usr/local/mysql02/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql02/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci make make install 2.5 停止老版本号mysql service mysqld stop ----3.配置MySQL 3.1.改动/usr/local/mysql权限 #mkdir -p /usr/local/mysql02 3.2.新建数据文件、暂时文件 mkdir /usr/local/mysql02/{innodb_data,data,tmp} -p mkdir /usr/local/mysql02/mysql_logs/{binary_log,innodb_log,query_log,slow_query_log,error_log} -p 3.3.改动权限 cd /usr/local/mysql02 chown -R mysql . chgrp -R mysql . 3.4.改动參数 #vi /etc/my.cnf basedir = /usr/local/mysql#数据库安装文件夹指定到新版本号的安装文件夹 datadir = /var/lib/mysql #原数据库数据文件夹保持原来的文件夹就可以 skip-grant-tables #因为升级须要。跳过权限验证 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 中 #去掉STRICT_TRANS_TABLES。禁用数据严格模式 #仅仅须要改动这些,其他的一般不需改动,假设须要将日志之类的转移到新文件夹。则按需改动 3.5.覆盖启动文件 #cp /usr/local/mysql02/support-files/mysql.server /etc/init.d/mysqld 3.6.运行表权限升级 #service mysqld start #重新启动新版本号MySQL #/usr/local/mysql02/bin/mysql_upgrade #运行表权限升级 3.7.检查全部数据库 #/usr/local/mysql02/bin/mysqlcheck --all-databases -uroot -p123456 3.8.又一次启动mysql #vi /etc/my.cnf 去掉skip-grant-tables #service mysqld restart #数据库升级成功