<>1.拉取mysql镜像
# 获取镜像 docker pull mysql:5.7
<>2.运行容器

* 运行mysql容器,需要做数据挂载,还需要配置密码
* 官方测试:docker run --name som-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d
mysql:tag
* 启动容器
-d 后台运行
-p 端口映射
-v 卷挂载(容器外映射到容器内部)
-e 环境配置
–name 容器名 [root@zero /] docker run -itd -p 3306:3306 -v
/home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e
MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
* 在云服务器安全组配置中打开3306端口

* 查看容器是否运行成功 [root@zero /]# docker ps CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES 7eedeb6049c2 mysql:5.7"docker-entrypoint.s…" 5 minutes ago Up
5 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql01
<>3.配置mysql

* 进入MySQL容器 docker exec -it 7eedeb6049c2 /bin/bash
* 本机可以通过 root 和密码 123456 访问 mysql 服务 mysql -h localhost -u root -p
root@7eedeb6049c2:/ mysql -h localhost -u root -p Enter password: Welcome to
the MySQL monitor. Commands end with; or \g. Your MySQL connection id is 3
Server version:5.7.36 MySQL Community Server (GPL) Copyright (c) 2000, 2021,
Oracle and/or its affiliates. Oracle is a registered trademark of Oracle
Corporation and/or its affiliates. Other names may be trademarks of their
respective owners. Type'help;' or '\h' for help. Type '\c' to clear the current
input statement. mysql>
* 切换到mysql数据库 use mysql
* 查询host和user的相关信息 select host, user from user;

* 可以看到,root的用户对应的host已经允许所有用户访问,如果不是,需要修改权限。

<>4.使用Navicat本地测试连接
- 输入用户名密码,和远程主机的公网ip地址

* 连接成功

<>5.测试连接和挂载

* 进入刚刚mysql的data目录挂载的服务器本地目录 /home/mysql/data

* 在本地创建test数据库

* 重新查看服务器目录,发现 test 数据库成功同步到本地

* 以后不论mysql容器是否存在,容器的数据将会永久地同步到本地/home/mysql/data目录下
<>5.本地数据库传输到服务器

* 在Navicat中打开工具 --> 数据传输

* 选择本地要传输到服务器的数据库

* 选择全部表

* 点击传输

<>6.时区配置

项目部署上线时候,发现项目和实际时间不一致,要比实际时间早八个小时,这是为什么?(1)项目问题(2)Mysql问题
这是因为项目默认使用 UTC(协调世界时,又称世界标准时间或世界协调时间)。而北京在东八区,比 UTC 快了 8 小时,即 UTC+8,所以差了八个小时。
首先查看服务器时间date,修改正确之后再进行以下操作:

<>(1)项目问题

SpringBoot项目发布之后发现,项目显示时间比实际时间要早八个小时。

* 首先查看JDBC连接,在连接中添加字段serverTimezone=GMT%2B8
* 然后在主启动类中添加TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));

* 还需要在application.yml加上time-zone: Asiz/Shanghai,解决前后端时间不一致

<>(2)Mysql问题

* 首先使用select now()语句查看mysql时间和电脑时间是否一致。
* 使用show variables like '%time_zone%';命令来查看时区配置

可以看到,MySQL 的当前时区是 SYSTEM,SYSTEM是 UTC(协调世界时,又称世界标准时间或世界协调时间),比北京时间(东八区)早八个小时。
* 修改Mysql容器的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,这个路径之前已经绑定了主机目录
/home/mysql/conf,可以直接在主机目录下添加mysqld.cnf配置文件。(要注意加上[mysqld]字段)

* 修改完成之后重启mysql容器,再次查看时区

时区配置成功!

技术
©2019-2020 Toolsou All rights reserved,
TypeScript:函数类型接口8道大厂指针笔试题让你秒杀指针!!!MySQL 日期时间加减mysql 查询条件之外的数据_mysql 查询符合条件的数据查linux的操作系统版本,如何查看Linux操作系统版本?将String类型转换成Map数据类型使用uuid做MySQL主键,被老板,爆怼一顿C语言中的字符串函数和字符函数linux服务器中毒排查--基础篇C# ASCII码字符转换