mysql升级5.7.22_mysql 迁移到5.7.22

1.备份数据库

mysqldump -uroot -P 3306 -p123456 -h172.28.17.26 --all-databases > databases.sql

mysql -uroot -p123456   < databases.sql

2.安装5.7

解压方式安装参考:

centos 安装mysql 5.7.22

https://blog.csdn.net/kohang/article/details/74574848

https://blog.csdn.net/z13615480737/article/details/80019881

2.1  初始化安装

// --initialize-insecure 选项是没有随机密码;

bin/mysqld --initialize-insecure --user=root --basedir=/usr/local/mysql --datadir=/var/lib/mysql

// (可选)如果想要默认的随机密码方式,使用 --initialize 参数,并且记住该随机密码,后面登录要用

mysqld --initialize --user=root --basedir=/usr/local/mysql --datadir=/var/lib/mysql

修改密码

set password=password('123456');

grant all privileges on *.* to root@'%' identified by '123456';

flush privileges;

3.导入数据

登陆mysql

set names utf8;

source /data/bak/databases.sql 或者 mysql -uroot -p123456   < databases.sql

4.数据升级

mysql版本从5.1升级到5.7, 除了在性能上还在数据存储和安全性上做了优化, 升级后需要做一些特殊配置以兼容已有的数据库

mysql的bin目录下执行 ./mysql_upgrade -uroot-p123456

5. 设置sql mode(兼容原来的sql groupby等用法)

1)当前运行中的mysql设置sql_mode

SET @@GLOBAL.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

2)配置文件中设置sql_mode

vi /etc/my.cnf

[mysqld]

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值