docker 部署mysql8.0
source link: https://blog.51cto.com/u_15384850/5434502
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
这个平台第一篇博客记录下,哈哈哈哈
有一说一,这些文档还挺不错的
拉去mysql镜像
[root@rzk ~]# docker pull mysql:8.0
8.0.27: Pulling from library/mysql
72a69066d2fe: Pulling fs layer
93619dbc5b36: Pulling fs layer
99da31dd6142: Pulling fs layer
626033c43d70: Pull complete
37d5d7efb64e: Pull complete
ac563158d721: Pull complete
d2ba16033dad: Pull complete
688ba7d5c01a: Pull complete
00e060b6d11d: Pull complete
1c04857f594f: Pull complete
4d7cfa90e6ea: Pull complete
e0431212d27d: Pull complete
Digest: sha256:e9027fe4d91c0153429607251656806cc784e91493271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:8.0
docker.io/library/mysql:8.0
创建映射挂载卷目录
[root@rzk mysql8]# pwd
/opt/mysql8
[root@rzk mysql8]# mkdir conf
[root@rzk mysql8]# mkdir logs
[root@rzk mysql8]# mkdir data
在conf目录新建my.cnf
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
# Custom config should go here
!includedir /etc/mysql/conf.d/
-v /opt/mysql8/conf/my.cnf:/etc/mysql/my.cnf \
-v /opt/mysql8/logs:/logs \
-v /opt/mysql8/data/:/var/lib/mysql \
-p 3310:3306 \
--name mysql8 \
-d mysql:8.0 \
-e MYSQL_ROOT_PASSWORD='123123' \
--privileged=true \
--character-set-server=utf8mb4
--restart=always | 当 Docker 重启时,容器自动启动 |
--name | |
-p 3306:3306 | |
d mysql:8.0 | 指定运行版本 |
-e MYSQL_ROOT_PASSWORD=‘密码’ | 设置root用户密码 |
--privileged=true | 赋予系统root权限 |
--character-set-server=utf8mb4 | 设置字符集为utf8mb4 |
(一)、新建文件
/opt/mysql8
[root@rzk mysql8]# mkdir conf
[root@rzk mysql8]# mkdir logs
[root@rzk mysql8]# mkdir data
(二)、拉取mysql8.0镜像
8.0: Pulling from library/mysql
72a69066d2fe: Pulling fs layer
93619dbc5b36: Pulling fs layer
99da31dd6142: Pulling fs layer
626033c43d70: Pull complete
37d5d7efb64e: Pull complete
ac563158d721: Pull complete
d2ba16033dad: Pull complete
688ba7d5c01a: Pull complete
00e060b6d11d: Pull complete
1c04857f594f: Pull complete
4d7cfa90e6ea: Pull complete
e0431212d27d: Pull complete
Digest: sha256:e9027fe4d91c0153429607251656806cc784e91493271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:8.0
docker.io/library/mysql:8.0
(三)、在conf目录新建my.cnf
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
# Custom config should go here
!includedir /etc/mysql/conf.d/
(四)、在conf目录新建my.cnf
-v /opt/mysql8/conf/my.cnf:/etc/mysql/my.cnf \
-v /opt/mysql8/logs:/logs \
-v /opt/mysql8/data:/var/lib/mysql \
-p 3310:3306 \
--name mysql8 \
-e MYSQL_ROOT_PASSWORD='123123' \
--privileged=true --restart unless-stopped mysql:8.0 \
--character-set-server=utf8mb4
(五)、验证mysql版本
获取容器名
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8082f1 mysql:8.0 " t.s…" ago hours 33060/tcp 06>3306/tcp mysql8
进入容器内部查看mysql版本
root@8082f19b024b:/#
输入mysql -uroot -p ,输入部署的密码即可,8.0.29这是最新的8版本
Enter password:
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.29 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
使用select user,plugin from user where user='root'; 查看加密方式
2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
3、update user set host='%' where user='root';
4、flush privileges;
上面的语句执行后,服务器记得开启外网端口,使用数据库软件进行连接
使用数据库软件进行连接
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK