1、docker 仓库搜索mysql
docker search mysql
第一个星最多,就用第一个
2、拉取mysql 镜像
docker pull docker.io/mysql
3、查询镜像
[root@localhost ~]# docker images
4、启动容器
[root@localhost ~]# docker run -d --name mysql -p 20003:3306 -e MYSQL_ROOT_PASSWORD=123456 b05128b000dd
解释一下: -d 代表后台运行
-name 表示容器名称,
-p 端口映射 宿主机端口:容器需要的端口
-e root 账号初始密码
最后是镜像ID
5、进入容器
[root@localhost ~]# docker exec -it mysql bash
6、连接msql
root@29f08ff065ea:/etc# mysql -h 127.0.0.1 -u root -p
7、进入mysql 数据库查看root 用户是否开通远程权限
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select user,host,plugin,authentication_string from user;
若有root 对应的host 是%,那么root 就具备远程权限,若没有,就把底下的root@localhost 修改下
8、赋予root权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ;
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)
9、使用工具连接
若能正常连接就可以正常使用了
若链接报错无法加载caching_sha2_password 这个插件,
修改一下加密方式就可以了
查看加密方式
修改
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.30 sec)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.12 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.03 sec
再查看
尝试连接
至此,安装完成!