安装前提,已经搭建好Docker环境,关于docker安装可参考我另一篇文章《Docker安装》
一、Docker安装MySQL
拉取Docker镜像
docker pull mysql:5.7
运行MySQL容器,参数说明见-说明1
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=密码 \ -d mysql:5.7
二、MySQL配置
修改MySQL配置文件,my.cnf内容见-说明2
vi /mydata/mysql/conf/my.cnf
容器的mysql 命令行工具连接
docker exec -it mysql mysql -uroot -p
注意:会提示输入密码,也就是上面2运行容器时配置的密码
设置root 远程访问
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
刷新MySQL配置
flush privileges;
重启MySQL容器
docker restart mysql
设置启动Docker是启动MySQL容器
docker update --restart=always mysql
说明1:
-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 用户密码
注意:log\data\conf几个文件夹及路径不用手动新建,运行时会自动创建。
说明2:
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
skip-name-resolve
说明:
skip-name-resolve:跳过域名解析
default-character-set=utf8:设置编码
评论 (0)