Docker安装Mysql

本文详细介绍了如何在Docker中安装和配置MySQL容器,包括创建挂载卷、设置root用户权限、创建admin工作账号以及执行账号策略。还提供了修改密码和查看用户信息的方法。
摘要由CSDN通过智能技术生成

安装Mysql

  • 创建挂载卷目录
sudo mkdir -p /opt/mysql
  • 下载Mysql镜像
docker pull mysql:latest
  • 运行容器(挂载${HOME}:/root卷,方便执行sql脚本等)
$ docker run -d -p 3306:3306 \
--privileged=true \
--restart=always \
-v ${HOME}:/root \
-v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /opt/mysql/logs:/logs \
-v /opt/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysqldb \
mysql:latest
  • 登录数据库
$ docker exec -ti mysqldb mysql -uroot -p123456
mysql> select @@version;
+-----------+
| @@version |
+-----------+
| 8.3.0     |
+-----------+
  • 删除容器
docker rm -f mysqldb

账号策略

  • 允许root用户localhost无密码访问,并删除root的远程访问权限
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
mysql> DELETE from mysql.user where user='root' and host='%';
mysql> FLUSH PRIVILEGES;
  • 创建admin(工作账号),并授予全部权限(推荐)
# 创建admin(工作账号),并授予全部权限
mysql> CREATE USER 'admin'@'%' IDENTIFIED BY '<Password>';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
  • 查看用户信息
mysql> SELECT user,host,plugin,authentication_string FROM mysql.user;
+------------------+-----------+-----------------------+----------------------------+
| user             | host      | plugin                | authentication_string      |
+------------------+-----------+-----------------------+----------------------------+
| admin            | %         | caching_sha2_password | $A$005$TLIR..0OTYGWEBUSED  |
| root             | localhost | caching_sha2_password |                            |
| mysql.infoschema | localhost | caching_sha2_password | $A$005$TLIR..0OTYGWEBUSED  |
| mysql.session    | localhost | caching_sha2_password | $A$005$TLIR..0OTYGWEBUSED  |
| mysql.sys        | localhost | caching_sha2_password | $A$005$TLIR..0OTYGWEBUSED  |
+------------------+-----------+-----------------------+----------------------------+
  • 其他命令
# 修改密码
mysql> ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码';

参考链接

https://hub.docker.com/_/mysql

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值