MySQL安装

1、下载镜像文件

docker pull mysql:5.7

2、创建实例并启动

docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7

配置说明

  • -p 3306:3306:将容器的3306端口映射到主机的3306端口
  • -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
  • -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
  • -v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

MySQL配置

vim /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

3、通过容器的mysql命令行工具连接

docker exec -it mysql mysql -uroot -proot

4、设置root远程访问

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

flush privileges;

5、进入容器文件系统

docker exec -it mysql /bin/bash

6、解决MySQL连接慢的问题

在配置文件中加入如下,并重启mysql my.cnf 修改,新增下面的配置

[mysqld]
skip-name-resolve

解释: skip-name-resolve:跳过域名解析