Docker

docker 下安装 mysql 8.0.18

2020-07-09  本文已影响0人  acc8226
docker pull mysql:8.0.18

如果是此句, 则是拉取最新版本 $ docker pull mysql:latest

查看对应IMAGE ID 为 ed1ffcb5eff3

docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               8.0.18              ed1ffcb5eff3        6 months ago        456MB
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 ed1ffcb5eff3

进入 CONTAINER ID 然后加载 bash

docker exec -it mysql-test bash

或者一步到位

docker exec -it mysql-test mysql -uroot -p123456

设置远程登录

  1. 登录mysql账号
  2. 修改root用户登录地址
  3. 修改root用户密码加密方式
mysql -uroot -p123456

use mysql;

-- 查询当前数据库相关信息
select host,user,authentication_string,plugin from user;

-- 若不存在 `root@%`  将root用户设置为所有地址可登录,原来是localhost表示只用本机可登录
UPDATE USER SET host = '%' WHERE user = 'root';
-- 并刷新权限
flush privileges;

--将用户root密码设置为永不过期
mysql> alter user 'root'@'%' identified by '123456' password expire never;
Query OK, 0 rows affected (0.01 sec)

--将root用户密码加密方式改为mysql_native_password ,上面查到root用户密码的加密方式为caching_sha2_password 
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.00 sec)

--刷新权限,在别的机器上即可登录
mysql> flush privileges;
-- 可以添加远程登录用户
CREATE USER 'xiaobudian'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'xiaobudian'@'%';

现在可以任意客户端尝试登录

mysql  -uroot -p123456 -h117.xxx.xx.xx

117.xxx.xx.xx 为对应你的 IP 地址

参考

(1条消息)数据库篇丨MySQL8.0 设置远程访问权限(最佳实践)!!!_「IT大飞说」的博客-CSDN博客_mysql8开启远程连接
https://blog.csdn.net/xinpengfei521/article/details/80403965

Docker 安装 MySQL | 菜鸟教程
https://www.runoob.com/docker/docker-install-mysql.html

上一篇下一篇

猜你喜欢

热点阅读