Centos7-Docker-安装Mysql8

> 安装Docker

yum install docker

> 启动docker进程

service docker start

> docker开机启动

chkconfig docker on



> 安装mysql(默认拉最新的现在是mysql8.0.15)

docker pull mysql

> 创建目录后面存mysql相关内容

/opt/mysql/data          /opt/mysql/logs      /opt/mysql/conf

data目录将映射为mysql容器配置的数据文件存放路径

logs目录将映射为mysql容器的日志目录

conf目录里的配置文件将映射为mysql容器的配置文件

> 运行容器(先进入到/opt/mysql目录下)

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

有时候会出现Container启动不起来,可以看日志:(发现是权限问题)

docker logs -t --since 10m mymysql 


可以加 --privileged=true

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql  --privileged=true  -e MYSQL_ROOT_PASSWORD=123456 -d mysql

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。

-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。

-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。

-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。



> 进入容器

docker exec -it mymysql bash

> 登录mysql

mysql -u root -p

> 查看已有用户信息


> 修改mysql8 用户密码sha2问题

ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password by '123456';

flush privileges;

> 之后 可以用root用户远程登录mysql;

你可能感兴趣的:(Centos7-Docker-安装Mysql8)