Docker安装MySql
1. 拉取镜像
# 拉取mysql镜像
docker pull mysql
# 查看镜像是否拉取成功
docker images
2. 创建持久化数据文件夹
# 挑选一个你感兴趣的目录
cd /home
# 创建一个你喜欢的目录
mkdir docker
cd docker
# 创建你喜欢的mysql持久化文件夹目录
mkdir mysql
3. 启动mysql容器
#MYSQL_ROOT_PASSWORD即为数据库登录密码
docker run -d --restart=always --name mysq-8.0 -p 5831:3306 -e MYSQL_ROOT_PASSWORD=Yt,6JhDEoaTZVFAm -v /home/docker/mysql:/var/lib/mysql mysql --lower_case_table_names=1
4. 进入容器开启远程配置
# 查看运行的容器Id
docker ps
#找到mysql的容器ID
docker exec -it 容器ID /bin/bash
#登录mysql
mysql -uroot -p
mysql> use mysql;
mysql> select user,host from user;
#增加远程登录权限
mysql> update user set host='%' where user='root';
#修改mysql的plugin,使用mysql_native_password
mysql> alter user root@'%' identified with mysql_native_password by '你要设置的密码';
mysql> exit;
5. 防火墙开放端口
如果你是云服务器,想要开放端口,请在安全组中设置
#开放5831端口
firewall-cmd --zone=public --add-port=5831/tcp --permanent
#防火墙服务重启,以便加载新开放的端口
systemctl restart firewalld.service
6. 开放远程访问
8.0版本以前
# 使用用户名密码登录 mysql
mysql - uroot - p
# 切换至 mysql 数据库
USE mysql;
# 假设你的用户名为 root ,密码是 12345678,那么以上语句允许 IP 为 114.114.114.114 的用户登录至数据库。
GRANT ALL PRIVILEGES ON *.* TO root 114.114.114.114 IDENTIFIED BY "12345678" WITH GRANT OPTION;
# 使更改生效
FLUSH PRIVILEGES;
8.0以后
# 使用用户名密码登录 mysql
mysql - uroot - p
# 切换至 mysql 数据库
USE mysql;
# 更新域属性,'%'表示允许所有外部 IP 访问数据库。
update user set host='%' where user ='root';
# 授权语句,授权 root 用户使用任意 IP 访问数据库。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
# 使更改生效
FLUSH PRIVILEGES;
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本网站的原创文章部分资源内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系博主邮箱:zzyo.yj@outlook.com 进行删除处理
本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向博主举报
声明:版权所有,违者必究 | 如未注明,均为原创 | 本网站采用CC BY-NC-SA 4.0 协议进行授权
转载:转载请注明原文链接 - Lycoris
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果