1
、下载镜像文件
docker pull mysql:5.7
2
、创建实例并启动,指定root账号的密码为root
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
用户的密码
3、配置MySQL
vi /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=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshakeskip-name-resolve
注意:通过在[mysqld]加入skip-name-resolve解决 MySQL 连接慢的问题
解释: skip-name-resolve:跳过域名解析
并重启
mysql
4、通过容器的
mysql
命令行工具连接
docker exec -it mysql mysql -uroot -proot
5、设置
root
远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;flush privileges;
进入容器文件系统
docker exec -it mysql /bin/bash