docker安装MySQL数据库

docker安装MySQL数据库

 

1 拉取MySQL镜像

docker pull mysql
docker pull mysql:5.7.36
docker images

 

2 运行容器

docker run -itd --name mysql-TestDB -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  • -p 3306:3306:映射容器服务的3306端口到宿主机的3306端口,外部主机可以直接通过宿主机ip:3306访问到MySQL的服务
  • MYSQL_ROOT_PASSWORD=123456:设置MySQL服务root用户的密码
docker ps -a
netstat -ntlp

 

3 进入容器登录数据库

docker exec -it mysql-TestDB /bin/bash
mysql -u root -p

 

4 登录数据库(在容器外)

mysql -h 127.0.0.1 -u root -p

        这个错误的原因是由于MySQL8.0之后的加密规则为caching_sha2_password,而在此之前的加密规则为mysql_native_password,可以将加密规则改成mysql_native_password。

解决方法:

# 进入MySQL容器
docker exec -it mysql-TestDB /bin/bash
# 登录数据库修改root密码
mysql -u root -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

 

5 添加远程登录用户

CREATE USER 'testuser'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'testuser'@'%';

posted @ 2022-02-21 09:36  chchcharlie、  阅读(116)  评论(0编辑  收藏  举报