1. 前言
《CentOS7设置mysql开机自启动》和《CentOS安装多版本MySQL》中都涉及了Mysql的安装方法,本文中会提供一个更好的Mysql安装方法。
前置条件是安装配置好了docker环境,安装方法参考《Docker入门》。已知docker宿主机IP为192.168.56.130。
2. 安装MySQL
2.1. 安装MySQL5.7.x
1、登录dockerhub查看需要的mysql版本。
2、下载mysql镜像(以mysql5.7.28为例)
1 | docker pull mysql:5.7.28 |
3、启动mysql服务
1 | docker run --name vk-mysql -d \ |
以上命令:
- 命名容器为vk-mysql,后台运行
- 映射宿主机3306端口到容器3306端口
- 映射宿主机/opt/data/mysql目录(不需要提前创建目录)到容器/var/lib/mysql,用于存储mysql数据到宿主机
- 设置数据库密码为voidking
更高级的启动命令参考How to use this image。
4、验证安装docker ps
mysql启动正常的话就可以看到vk-mysql容器。
如果启动失败,可以使用docker logs vk-mysql
查看失败原因并进行解决。
2.2. 安装MySQL8.0.x
参考文档:
1、登录dockerhub查看需要的mysql版本。
2、下载mysql镜像(以mysql8.0.28为例)
1 | docker pull mysql:8.0.28 |
3、启动mysql服务
1 | docker run --name vk-mysql -d \ |
以上命令:
- 命名容器为vk-mysql,后台运行
- 映射宿主机3306端口到容器3306端口
- 映射宿主机/opt/mysql目录下的子目录到容器目录,用于存储mysql数据到宿主机
- 设置数据库密码为voidking
更高级的启动命令参考How to use this image。
4、验证安装docker ps
mysql启动正常的话就可以看到vk-mysql容器。
如果启动失败,可以使用docker logs vk-mysql
查看失败原因并进行解决。
默认配置文件为/etc/my.cnf
,会引用/etc/mysql/conf.d/
目录中的以cnf结尾配置文件,例如custom.cnf
。
1 | [mysqld] |
上面的配置,会开启sql日志。
3. 测试访问
3.1. 容器内访问
1 | docker exec -it vk-mysql /bin/bash |
3.2. 宿主机上访问
centos7上访问mysql server5.7.x
1 | yum install -y mariadb.x86_64 mariadb-libs.x86_64 |
centos7上访问mysql server8.0.x
1 | wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm |
ubuntu18上访问mysql server5.7.x
1 | #apt install mysql-client-core-8.0 |
4. 开放访问
1、开放端口
1 | # centos |
2、安装mysql-client,方法同上
3、访问mysql-server
1 | mysql -h 192.168.56.130 -P 3306 -u root -p |
输入密码,即可连接到vk-mysql容器服务。