Docker安装MySQL容器

Docker安装MySQL容器

安装MySQL

# 查找官方镜像
docker search mysql

# 下载mysql镜像
sudo docker pull mysql:5.7

# 检查当前所有Docker下载的镜像
docker images

启动MySQL容器

docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always \
-d mysql:5.7

命令 描述
-p 3306:3306 将容器的3306(后面那个) 端口映射到主机的3306(前面那个) 端口
–name mysql 启动容器的名字
-v /usr/local/docker/mysql/conf:/etc/mysql \ 挂载mysql配置文件
-v /usr/local/docker/mysql/logs:/var/log/mysql \ 挂载mysql日志文件
-v /usr/local/docker/mysql/data:/var/lib/mysql \ 设置数据存储路径 冒号左面的表示宿主机的挂载目录,冒号右边则表示容器内部的路径
-e MYSQL_ROOT_PASSWORD=123456 \ MySql启动需要的账户密码,默认root账户
--restart=always 设置docker内容器的自启动
-d 后台运行
mysql:5.7 本地运行的版本
\ shell 命令换行

配置MySQL外网连接权限

# 进入容器
docker exec -it mysql /bin/bash

# 登录mysql
mysql -uroot -p123456
# 设置外网访问授权
grant all privileges on *.* to root@'%' identified by "password"
# 刷新权限
flush privileges
# 授权后 更新一下密码,否则连接时候报错1045
alter user 'root'@'%' identified with mysql_native_password by '123456'
# 再次刷新权限
flush privileges
# 退出mysql

开放服务器3306端口

systemctl start firewalld
firewall-cmd  --zone=public --add-port=3306/tcp --permanent
firewall-cmd  --reload
posted @ 2024-02-19 15:48  陨落的星尘  阅读(19)  评论(0编辑  收藏  举报