MySQL安装
获取mysql镜像
docker pull centos/mysql-57-centos7
简单创建容器
该创建方式mysql配置和数据不便维护,适用于个人项目测试使用mysql
docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123123 centos/mysql-57-centos7:latest
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登陆密码
可配置创建容器
该创建方式mysql配置和数据可维护
(1)宿主机创建对应目录
mkdir -p /soft/mysql/data
mkdir -p /soft/mysql/conf
(2)添加配置文件my.cnf
在/soft/mysql/conf目录下创建my.cnf,添加如下配置
#For explanations see
#http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
explicit_defaults_for_timestamp
#Instead of skip-networking the default is now to listen only on
#localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
#log-error = /var/log/mysql/error.log
#Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#* IMPORTANT: Additional settings that can override those from this file!
#The files must end with '.cnf', otherwise they'll be ignored.
#
lower_case_table_names=1
(3)创建容器
docker run -di --name=mysql -p 3306:3306 -v /soft/mysql/conf:/etc/mysql/conf.d -v /soft/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123123 centos/mysql-57-centos7:latest
远程连接
远程工具连接,指定端口3306(如果端口不通可查看宿主机防火墙是否开放3306端口)
Percona安装
Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。
Percona Server 只包含 MySQL 的服务器版,并没有提供相应对 MySQL 的 Connector 和 GUI 工具进行改进。
Percona Server 使用了一些 google-mysql-tools, Proven Scaling, Open Query 对 MySQL 进行改造。
官网:https://www.percona.com/software/mysql-database
#镜像地址:https://hub.docker.com/_/percona/
#拉取镜像
docker pull percona:5.7.23
#创建容器
docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -e
MYSQL_ROOT_PASSWORD=root percona:5.7.23
#参数解释:
--name: percona 指定是容器的名称
-v: /data/mysql-data:/var/lib/mysql 将主机目录/data/mysql-data挂载到容器
的/var/lib/mysql上
-p: 33306:3306 设置端口映射,主机端口是33306,容器内部端口3306
-e: MYSQL_ROOT_PASSWORD=root 设置容器参数,设置root用户的密码为root
percona:5.7.23: 镜像名:版本
#启动容器
docker start percona