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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值