实战:mysql版本升级

/*****************************************************
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 #数据库升级成功
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值