docker分别部署mysql8.0、mysql5.7
一、部署mysql8.0
1.拉取mysql8.0的镜像
[root@tencent etc]# docker pull mysql:8.0
2.创建挂载数据目录
[root@tencent data]# mkdir -p /data/mysql
[root@tencent ~]# cat /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
no-auto-rehash
default-character-set=utf8
[mysqld]
max_connections=1000
#character-set-server=utf8
#default-character-set=utf8
default-time_zone = '+8:00'
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#
3.运行容器
docker run -it -d \
--restart=always \
-v /data/mysql/:/var/lib/mysql \
-v /etc/my.cnf:/etc/my.cnf \
--name mysql8.0 \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 mysql:8.0 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- -d 后台启动
- –restart=always 容器自启动
- -v 挂载数据卷
- –name 容器名称
- -e 环境变量
- -p 端口映射,格式是 宿主机端口:容器端口
- –character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 这两个是mysql的字符集编码配置
4.修改密码(按需求而定)
#进入容器
docker exec -it mysql8.0 /bin/bash
#登陆mysql
mysql -uroot -p123456
#修改本地连接mysql密码
alter user 'root'@'localhost' identified by 'new password';
#刷新
flush privileges;
#修改远程连接mysql密码
alter user 'root'@'%' identified by 'new password';
#刷新
flush privileges;
二、部署mysql5.7
1.拉取mysql5.7的镜像
[root@tencent etc]# docker pull mysql:5.7
2.创建挂载数据目录
[root@tencent data]# mkdir -p /data/mysql
[root@tencent ~]# cat /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
no-auto-rehash
default-character-set=utf8
[mysqld]
max_connections=1000
#character-set-server=utf8
#default-character-set=utf8
default-time_zone = '+8:00'
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#
3.运行容器
docker run -it -d \
--restart=always \
-v /data/mysql/:/var/lib/mysql \
-v /etc/my.cnf:/etc/my.cnf \
--name mysql5.7 \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 mysql:5.7 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- -d 后台启动
- –restart=always 容器自启动
- -v 挂载数据卷
- –name 容器名称
- -e 环境变量
- -p 端口映射,格式是 宿主机端口:容器端口
- –character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 这两个是mysql的字符集编码配置
4.修改密码(按需求而定)
注意:mysql5.7的user表中的password字段已经改成了authentication_string 字段了。
#进入容器
docker exec -it mysql5.7 /bin/bash
#登陆mysql
mysql -uroot -p123456
#修改密码
update mysql.user set authentication_string = password("sadc12853") where user="root" ;
#刷新数据库
flush privileges;