栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker安装MySQL8.0单机版

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker安装MySQL8.0单机版

首先,下载镜像:

docker pull mysql:8.0

创建/data/soft/mysql8.0/conf目录,在conf文件夹内创建 my.cnf:

[mysqld]
datadir=/usr/local/mysql/data
default_authentication_plugin=mysql_native_password  #使用mysql8以前的密码插件,以便navicat等工具能够正常连接
default-storage-engine=INNODB
character_set_server=utf8mb4
secure_file_priv=/var/lib/mysql
[mysqld_safe]
character_set_server=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysql.server]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4

然后,运行容器:

docker run --restart=always -d --name mysql8.0Instance -v /data/soft/mysql8.0/conf/my.cnf:/etc/mysql/my.cnf -v /data/soft/mysql8.0/data:/usr/local/mysql/data -v /data/soft/mysql8.0/log:/var/log/mysql -p 3311:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0

容器运行后,查看目录变化:

[root@tlzs mysql8.0]# cd /data/soft/mysql8.0/
[root@tlzs mysql8.0]# ll
总用量 12
drwxr-xr-x. 2 root    root 4096 5月   2 11:34 conf
drwxr-xr-x. 7 polkitd root 4096 5月   3 09:48 data
drwxr-xr-x. 2 root    root 4096 5月   3 09:22 log

接着,进入容器内部:

[root@tlzs mysql8.0]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED       STATUS       PORTS                                                  NAMES
d5fcc7e69e12   mysql:8.0   "docker-entrypoint.s…"   9 hours ago   Up 9 hours   33060/tcp, 0.0.0.0:3311->3306/tcp, :::3311->3306/tcp   mysql8.0Instance
13fab3c9b874   mysql:5.7   "docker-entrypoint.s…"   2 days ago    Up 2 days    33060/tcp, 0.0.0.0:3309->3306/tcp, :::3309->3306/tcp   mysql5.7Instance
[root@tlzs mysql8.0]# docker exec -it d5 bash
root@d5fcc7e69e12:/# 

 修改docker.cnf的内容:

echo skip-grant-tables >> docker.cnf

 然后退出容器,执行如下命令:

docker exec -it d5 mysql -uroot -proot

 进行root远程登录设置:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXXXXXXX';
flush privileges;

 然后重启mysql,

docker restart d5

即可远程root连接!!!

创建新用户,并赋予远程连接权限(%代表匹配所有host):

mysql> select Host,User,authentication_string from mysql.user
    查询数据库用户
 
    创建新用户,并赋予远程连接权限(%代表匹配所有host)
mysql> CREATE USER 'root1'@'%' IDENTIFIED BY 'root1';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root1'@'%' WITH GRANT OPTION;
mysql> flush privileges;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/860344.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号