CentOS7利用docker安装MySQL5.7

前提条件

centos7 且内核版本高于3.10, 可通过以下命令查看内核版本

uname -r

5db67dd4fe3610a316b6b10ca68361a7.png

利用yum 安装docker

安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

c0821d877e862fcf98b44d0e692773b0.png

添加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

d51b58b4fa8bd1fc1431eeb92d010d76.png

更新 yum 缓存:

sudo yum makecache fast

53711c81bdb820f1a2935bb8ac462d14.png

安装 Docker-ce:

sudo yum -y install docker-ce

441c83a0fd78a2076d11a29adf5f5d04.png

启动 Docker 后台服务:

sudo systemctl start docker

a8f296c96f4f09ce3bd003711a1b8390.png

docker 安装MySQL

查找MySQL镜像:

docker search mysql

2e52e8ae36d3235661fe28bbb95dd075.png

拉起MySQL镜像(:5.7 表示5.7版本)

docker pull mysql:5.7

f79116eace2f617fa04462f54b1c2246.png

运行MySQL容器

docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

参数说明:

run run 是运行一个容器

-d  表示后台运行

-p  表示容器内部端口和服务器端口映射关联

--privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆

-v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/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中启动一个容器

--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码

新建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;

阿里云的话远程访问记得防火墙开 3306 端口 !!!!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐