一 拉取mysql

可在docker hub进行搜索查询,自行决定拉取哪个版本,这里以最新版本为例。

docker pull mysql

二 创建并启动mysql容器

docker run -itd \
--name mysql \
--restart=always \
-p 3306:3306 \
-v /opt/mysql/config/conf.d:/etc/mysql/conf.d \
-v /opt/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql
  • --name mysql:定义容器名称;
  • --restart=always:定义总是自动重启,容易意外停止时可进行自动重启;
  • -p 3306:3306:端口映射,将宿主机的3306映射到3306端口;
  • -v /opt/mysql/config/conf.d:/etc/mysql/conf.d:文件夹映射,将宿主机的/opt/mysql/config/conf.d映射到容器的/etc/mysql/conf.d目录;
  • -v /opt/mysql/data:/var/lib/mysql:文件夹映射,将宿主机的/opt/mysql/data映射到容器的/var/lib/mysql目录;
  • -e MYSQL_ROOT_PASSWORD=root:设置root账户密码;

三 进入mysql容器

docker exec -it mysql bash

四 修改权限

mysql -u root -p
# 输入密码,密码不会显示,正常输入即可
# 修改root用户的密码为root,且允许所有ip连接
ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'root';
# 刷新
flush privileges;