1.拉取MySQL镜像
docker pull mysql:8.4.5 #这是一个LTS长期支持版本
等待拉取完成即可

2.启动容器
docker run -d \
--name mysql8 \
-v /home/disk/dockerData/mysql/data:/var/lib/mysql \
-v /home/disk/dockerData/mysql/config/my.cnf:/etc/mysql/my.cnf \
-v /home/disk/dockerData/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=mysql@123\
-p 3306:3306 \
--restart=unless-stopped \
mysql:8.4.5
--restart=unless-stopped意味着除非容器被手动停止,否则无论系统如何重启或崩溃,容器都会自动启动
容器启动后进入容器登录root账户
docker exec -it mysql8 mysql -u root -p
键入上述指令后会要求输入密码,密码是刚刚运行命令中指定的: -e MYSQL_ROOT_PASSWORD=mysql@123,即“mysql@123”,输入即可。(注意,输入时并不会显示任何字符,但实际已经输入,输入完毕回车即可)

登录成功后会进入mysql命令行

# 创建非root账号用于远程连接使用,username和password自行替换设置
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
# 赋予所以权限并允许任何ip链接
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;
之后就可以使用数据库连接工具测试连接、进行使用。


630

被折叠的 条评论
为什么被折叠?



