Docker安装CentOS7及MySQL5.7

目前有关MySQL的Docker镜像大多是基于Ubuntu构建的,如果想把MySQL安装在CentOS上,那么只有自己动手来构建基于CentOS的MySQL镜像了。

下载centos7镜像

docker pull daocloud.io/centos:latest

运行centos7容器

docker run -dit --privileged --name=centos7 daocloud.io/centos:latest /usr/sbin/init

进入centos容器交互界面

docker exec -it centos7 /bin/bash

安装wget

yum install -y wget

安装MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm

安装MySQL5.7

yum install -y mysql-server

启动MySQL

systemctl start  mysqld.service

查看MySQL运行状态

systemctl status mysqld.service

Docker安装CentOS7及MySQL5.7_第1张图片

查看初始root密码

grep "password" /var/log/mysqld.log

修改root密码

获得初始密码后,第一件事就是要重新设置root密码,否则什么事情也做不了,因为MySQL强制要求必须重新设置root密码。

进入mysql数据库

mysql -uroot -p

修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

密码设置过于简单,会报错,要求是必须含有数字,小写或大写字母,特殊字符:

如果是安装用于测试,不需要设置太复杂的密码,则需要设置:

修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;

修改validate_password_length参数的值

set global validate_password_length=1;

设置后,重新设置root密码就不会提示密码安全不符合要求的提示了。

开启远程访问

默认安装后,MySQL禁止远程连接,所以需要打开该权限。

mysql> GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

查看MySQL版本

mysql> select version();

Docker安装CentOS7及MySQL5.7_第2张图片

构建新镜像

将安装好MySQL5.7的容器打包为新的镜像,便于以后使用:

docker commit -a "dedemao" -m "my mysql" centos7  dedemao/mysql

-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

构建新容器

docker run -dit --privileged -p 3310:3306 --name=mysql3310 dedemao/mysql /usr/sbin/init

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