docker部署mysql

搜索镜像
[root@localhost ~]# docker search mysql
拉取镜像
[root@localhost ~]# docker pull mysql

查看拉取的镜像:
docker部署mysql_第1张图片

通过镜像创建容器
docker run -di --name=mjw_docker_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql 

参数:
-p : 指定端口映射
-e : MYSQL_ROOT_PASSWORD环境变量是root用户登陆密码。

登陆容器
[root@localhost ROOT]# docker exec -it mjw_docker_mysql /bin/bash
root@e8e89f794875:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

客户端无法连接mysql

这里的mysql版本为8.0 加密方式与之前不同,很多客户端工具无法连接。或者未开启远程访问。(还有防火墙就不说了)
解决:
修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 

修改密码为password

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; 

开启远程访问权限

GRANT ALL ON *.* TO 'root'@'%'; 

刷新权限

flush privileges; 

再进行连接基本就没什么问题了

你可能感兴趣的:(docker,mysql)