Docker安装mysql服务

1、拉取镜像

# 此命令下载的是最新版
docker pull mysql
 
# 此命令下载的是指定版本的
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=YOURPASSWORD \
-d mysql:5.7

3、配置

3.1 远程访问配置

本地利用Navicat连接部署在服务器的mysql,可能遇见的报错:

message from server: "Host ‘远程访问的主机ip’ is not allowed to connect to this MySql server

除了可能未开放服务器防火墙3306端口,还可能未配置mysql远程访问的权限。未开放权限解决方案如下:

// 1、进入mysql容器
docker exec -it mysql /bin/bash

// 2、切换表
use mysql;

// 3、修改ip为允许所有地址可访问
update user set host = '%' where user = 'root';

// 4、查看修改结果
select host, user from user;

// 5、刷新权限
FLUSH RIVILEGES

3.2 时区配置

首先需要连接上数据库(服务端docker进入mysql容器或者本地使用Navicat连接都可以)

select now();

如果发现显示时间与本地一致则不用修改,如果相差8个小时说明时区需要修改。

// 修改全局时间
set global time_zone = '+08:00';

// 修改当前会话时间
set time_zone = '+08:00';

// 刷新
flush privileges;

// 再次查看时间,发现一致
select now();

4、其他

注意:建议一步到位给mysql设置复杂的密码,不然容易被乞丐影响心情。警示警示!

mysql> set password for root = password('NEW_PASSWORD'); 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hu4545/article/details/128466683