docker安装mysql

1. docker pull mysql:latest 

注意:如果出现 使用docker时报错“net/http: TLS handshake timeout”的解决方案 

修改/etc/docker/daemon.json 

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

守护进程重启
sudo systemctl daemon-reload
重启docker服务
sudo systemctl restart docker
关闭docker
sudo systemctl stop docker

2. docker images

docker安装mysql_第1张图片

3.  执行运行命令,

docker run -p 3308:3306 \
--name mysql -v /usr/mydata/mysql/log:/var/log/mysql \
-v /usr/mydata/mysql/data:/var/lib/mysql  \
-v /usr/mydata/mysql/conf:/etc/mysql/conf.d  \
-e MYSQL_ROOT_PASSWORD=root -d mysql:latest \

4. docker ps,出现运行的mysql status为up才算成功

docker安装mysql_第2张图片

注意:如果失败了,可以查看日志,

docker logs --tail 50 --follow --timestamps mysql
如果出现,

docker安装mysql_第3张图片

需要重新刷新权限,

设置mysql远程连接权限:
1、进入容器:docker exec -it mysqlserver /bin/bash
2、进入msyql:mysql -uroot -p
3、授权:mysql> GRANT ALL ON *.* TO 'root'@'%';
4、刷新权限:mysql> flush privileges;
5、更新加密规则:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
6、更新root用户密码:mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
7、刷新权限:mysql> flush privileges;

如果网关不小心删了,需要,

docker network inspect bridge
systemctl daemon-reload
systemctl restart docker 

设置自动启动。

systemctl enable docker.service

docker update --restart=always 容器名称 

参考:

docker安装最新mysql

 Docker Mysql 远程连接出现 Client does not support authentication

 使用docker时报错“net/http: TLS handshake timeout”的解决方案

Docker 安装 MySQL

Docker服务以及容器如何设置自动启动 

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