mysql 5.1.2.6_mysql5.5 升级至5.7

mysql5.5 升级至5.7

1.下载mysql5.7.32

tar xvf mysql.tar.gz mysql/

2. 进入旧的mysql的bin目录下导出mysql的数据

./mysql -uroot -pxxxx -h127.0.0.1 -P3306

3. 进入新的mysql根目录下创建存放数据的data目录

mkdir data

4. 对于刚解压的新数据库,首先执行初始化命令

cd bin

./mysql_install_db --basedir=../ --datadir=../data

PS: 以上升级是在Cent OS上的,但是在中标麒麟我升级的时候,发现不认识上面的语句,需要替换成下面这个初始化语句

./mysqld --defaults-file=../my.cnf --basedir=../ --datadir=../data --user=root --initialize

5. 设置跳过密码登录

在my.cnf 中的[mysqld]中添加skip-grant-tables

my.cnf 为数据库的配置文件

6. 启动服务

./mysqld --defaults-file=../my.cnf --basedir=../ --datadir=../data --user=root

7. 设置密码

在新的命令行窗口登录mysql

./mysql -uroot

use mysql;

update mysql.user set authentication_string=password('xxxx') where user='root';

8. 停止服务

注释掉配置文件中的skip-grant-tables

9. 启动服务

./mysqld --defaults-file=../my.cnf --basedir=../ --datadir=../data --user=root

10. 新命令行登录

./mysql -uroot -pxxxx

use mysql;

这个时候:不管运行任何命令,总是提示这个 You must reset your password using ALTER USER statement before executing this statement.

这时执行下面的语句

SET PASSWORD = PASSWORD('xxxx');

11. 设置其他ip可以连接mysql

use mysql;

grant all privileges on *.* to "root"@"%" identified by "xxxx";

12. 导入历史数据

cd bin

./mysql -uroot -pxxxx -h127.0.0.1 -P3306

12. 执行更新

cd bin

./mysql_upgrade

13. 升级后可能出现查询语句出现报错的情况,可执行下面的语句

set @@sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

set 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、付费专栏及课程。

余额充值