0%

MySql5.6升级到5.7

使用Docker对Mysql进行升级

因为公司是使用docker对mysql进行安装,所以只要将原本的版本号替换掉就行

原有:docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '2'
services:
mysql:
image: mysql:5.6.37
container_name: mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- /etc/localtime:/etc/localtime
- ./conf:/etc/mysql/conf.d
- /data/mysql/data:/var/lib/mysql

修改成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '2'
services:
mysql:
image: mysql:5.7.18
container_name: mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- /etc/localtime:/etc/localtime
- ./conf:/etc/mysql/conf.d
- /data/mysql/data:/var/lib/mysql

然后使用docker-compose restart就行。

启动成功后,使用 Native连接数据库 会报系统表找不到的错误

Native table ‘performance_schema’.’events_statements_summary_by_program’ has the wrong structure

需要到容器中更新系统表

进入到容器当中,执行 mysql_upgrade -u root -p –force,再重启docker容器

1
2
3
4
docker exec -it mysql bash 

# 进容器后执行
mysql_upgrade -u root -p --force

这样就完成了mysql的升级