mysql 5.7.17升级到5.7.25

说明

业务系统安全扫描反馈mysql数据库版本低,需要升级到5.7.23以上。

环境

windows server 2008 64位
mysql5.7.17

安装包

mysql5.7.25安装版(mysql-installer-community-5.7.25.0.msi)
.net4.5.2离线版(NDP452-KB2901907-x86-x64-AllOS-ENU.exe)
Microsoft Visual C++ 2013(vcredist_x64.exe)

升级

1、备份data目录(数据文件、配置文件my.ini)
2、卸载旧版本mysql server(最好在mysql installer里面卸载)
3、清注册表(regedit,搜mysql,删除,按F3查下一个)
4、先安装依赖包.net和visual c++,再安装mysql(服务名和root密码最好设置成一样)
5、关闭mysql服务,拷贝my.ini文件回data目录下覆盖
6、启动mysql服务

数据迁移

1、全库导出,用mysqldump,在mysql/bin目录下,执行:
mysqldump -h localhost -uroot -ppassword db_name > D:\20190506\backsql\db_name.sql
mysqldump -h 10.180.6.183 -u root -p dmsdev > D:\imssdb\20170930\dmsdev20170930.sql
2、全库导入(还原),导入数据库(首先得创建数据,再导入)C:\Program Files\MySQL\MySQL Server 5.5\bin>
mysql -h localhost -u root -p(进入mysql下面)
create database abc;(创建数据库)
show databases;(就可看到所有已经存在的数据库,以及刚刚创建的数据库abc)
use abc;(进入abc数据库下面)
show tables;(产看abc数据库下面的所有表,空的)
source D:\20190506\backsql\db_name.sql(导入数据库表)
show tables;(查看abc数据库下面的所有表,就可以看到表了)
desc pollution;(查看表结构设计)
select * from pollution;
exit(或者ctrl + c)退出mysql

导入报错时,查看是不是数据库太大,看是否能通过设置参数解决:

1.直接在命令行中运行命令

set global max_allowed_packet = 2*1024*1024*10; 或者set global max_allowed_packet = 16M;(博主是用的后面这个)

然后输入命令   show VARIABLES like '%max_allowed_packet%';   就可以看到自己改的值。

这种方法管用是管用,但是不能重启mysql服务,一旦重启mysql,会自动恢复成默认值 1M,所以有些用这种方法改了的,过短时间又恢复默认值,不是bug也不是什么黑客入侵,而是因为重启了mysql。

2.修改mysql的配置文件(关于如何找到当前正在使用的配置文件,参考这篇文章:插眼传送)

max_allowed_packet = 16M 

找到他把后面的值改掉,重启mysql就永久生效了。

创建用户

CREATE USER 'openadmin2018'@'%' IDENTIFIED BY 'openadmin2018';

授权

grant usage on *.* to 'openadmin2018'@'%';
GRANT ALL PRIVILEGES ON `abc`.* TO 'openadmin2018'@'%';
flush privileges

你可能感兴趣的:(mysql)