CentOS7 利用 docker 装置 MySQL5.7
前提条件
centos7 且内核版本高于 3.10, 可通过以下命令查看内核版本
uname -r
利用 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 -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 端口!!!!
关注公众号:java 宝典