> 安装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;
网友评论