/*****************************************************mysql 5.6.19 升级到5.6.21*****************************************************/升级前做好备份是必须的!----1.查看现有版本mysql的数据目录位置show variables like '%datadir%';/usr/local/mysql01/data/ ---2.安装新版本mysql2.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.confmysql soft nproc 2047mysql hard nproc 16384mysql soft nofile 1024mysql hard nofile 655362.4.编译安装新版本mysqltar xvf mysql-5.6.21.tar.gzcd 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_cimake make install2.5 停止老版本mysqlservice mysqld stop----3.配置mysql3.1.修改/usr/local/mysql权限#mkdir -p /usr/local/mysql023.2.新建数据文件、临时文件mkdir /usr/local/mysql02/{innodb_data,data,tmp} -pmkdir /usr/local/mysql02/mysql_logs/{binary_log,innodb_log,query_log,slow_query_log,error_log} -p3.3.修改权限cd /usr/local/mysql02chown -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 #数据库升级成功