一、首先在docker hub找到mysql

docker hub上查询相关的镜像,里面会附带很多docker启动配置的知识

在这里插入图片描述

二、拉取mysql

docker pull mysql

三、初次创建运行mysql容器,将关键目录挂载到自己的目录中

注意:这边因为我使用的是最新版的msyql,所以会多一个目录 -v /home/mysql/mysql-files:/var/lib/mysql-files

docker run -d -p 3306:3306 --name mysql -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=my_password mysql

四、修改mysql的配置文件

修改my.cnf文件,如果没有就新建

[mysqld]
user=mysql
character-set-server=utf8mb4
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
 
[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4

五、删除初次创建的mysql容器或者直接重启也可以

这里要看第一次创建容器的命令是否是正确想要一直运行的,如果第一次只是-it 挂载出目录测试,这边就要先删除

# 删除容器
docker rm -f mysql
# 重新创建
x docker run -d -p 3306:3306 --name mysql -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=my_password mysql

# 重启容器
docker restart mysql

六、查看容器状态是否正在运行

这边处于运行状态就ok了,如果是exit,就要-it看一下具体错误了

在这里插入图片描述

七、进入mysql配置远程访问

刚运行的mysql,远程使用Navicat等是不允许访问的,所以需要配置

docker exec -it mysql /bin/bash # 进入mysql容器终端
mysql -uroot -proot # 如果提示密码错误 尝试不加密码 mysql -uroot
use mysql;
alter USER 'root'@'localhost' IDENTIFIED BY '你的密码';
update user set host = "%" where user='root';
flush privileges;

八、使用Navicat等工具远程连接OK!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐