CentOS 中利用docker安装MySQL

时间:2022-08-10 09:30:46

1.前提条件

centos7 且内核版本高于3.10, 可通过命令: uname -r 查看内核版本

2.利用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

  测试运行 hello-world:

docker run hello-world

  可利用docker ps查看docker启动的容器

  docker安装 可参考: https://www.runoob.com/docker/centos-docker-install.html

3. docker 安装MySQL

  查找MySQL镜像

docker search mysql

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

docker pull mysql:5.7

  运行MySQL容器

docker run -d -p : --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;