CentOS7利用docker安装MySQL5.7
利用yum 安装docker
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
sudo yum makecache fast
安装 Docker-ce:
sudo yum -y install docker-ce
启动 Docker 后台服务:
sudo systemctl start docker
docker 安装MySQL
查找MySQL镜像:
docker search mysql
拉起MySQL镜像(:5.7 表示5.7版本)
docker pull mysql:5.7
运行MySQL容器:
docker run \
-p 3326:3306 \
--restart=always \
--privileged=true \
--name mysql_slave \
-v /data/docker/mysql_slave/conf/my.cnf:/etc/my.cnf \
-v /data/docker/mysql_slave/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD="123456" \
-itd mysql:5.7
命令解释:
冒号前面的是宿主机目录后面是容器目录
run run 是运行一个容器
-d 表示后台运行
-p 表示容器内部端口和服务器端口映射关联
--privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
-v /docker/mysql/conf/my.cnf:/etc/my.cnf 将容器中的my.cnf配置映射到宿主机(服务器)中的/docker/mysql/conf/my.cnf配置
-v /docker/mysql/data:/var/lib/mysql 同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
-e MYSQL_ROOT_PASSWORD=123456 设置MySQL数据库root用户的密码
--name mysql 设值容器名称为mysql
mysql:5.7 表示从docker镜像mysql:5.7中启动一个容器
新建MySQL用户
先进入容器:
docker exec -it mysql bash
执行MySQL命令, 输入root密码, 连接MySQL
mysql -uroot -p
输入密码后, 执行下面命令创建新用户 (用户名: test , 密码: test123)
GRANT ALL PRIVILEGES ON *.* TO ‘test‘@‘%‘ IDENTIFIED BY ‘test123‘ WITH GRANT OPTION;
mysql刷新权限:
FLUSH PRIVILEGES;