加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql 数据库时间格式,date,datetime

发布时间:2022-10-22 15:32:40 所属栏目:MySql教程 来源:网络
导读: 基本构建思路
1.主从库的数据库版本尽量一致
2.确保数据相同
– 从库必须要有主库上的数据。
3.配置主服务器
– 启用binlog 日志
– 设置server_id
– 设置要同步的数据库
– 设置授权用户

基本构建思路

1.主从库的数据库版本尽量一致

2.确保数据相同

– 从库必须要有主库上的数据。

3.配置主服务器

– 启用binlog 日志

– 设置server_id

– 设置要同步的数据库

– 设置授权用户

– 记录需要同步的日志文件名及日志开始位置。

4.配置从服务器

– 设置 server_id

– 设置要同步的数据库

– 指定主数据库服务器信息

测试配置

– 客户端连接主库,写入的数据,在连接从库的时候也能够访问到。

下载并安装Navicat

下载及安装激活过程可以查看这篇文章,介绍得很详细:

下载及安装MySQL8.0

下载

MySQL8.0下载地址:

安装

解压并配置my.ini

下载后解压到E盘根目录,将文件夹重命名为mysql-master,进入mysql-master文件夹,新建my.ini文件,写入以下内容:

[client]

port=3307

设置客户端字符集

default-character-set=utf8

[mysqld]

绑定IPv4

bind-address = 0.0.0.0

设置端口号

port=3307

character_set_server=utf8

设置mysql的安装目录,即你解压缩安装包的位置

basedir=E:/mysql-master

设置mysql数据库的数据的存放目录

datadir=E:/mysql-master/data

允许最大连接数

max_connections = 200

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

default-storage-engine=INNODB

[WinMySQLAdmin]

Server = E:/mysql-master/bin/mysqld.exe

由于我的3306端口已被占用,故配置文件写的3307。

初始化data目录

"E:/mysql-master/bin/mysqld" --initialize-insecure --user=mysql

安装mysql服务

"E:/mysql-master/bin/mysqld" install mysql-master --defaults-file="E:/mysql-master/my.ini"

启动MySQL服务

net start mysql-master

修改root账号密码

刚安装完成时root账号默认密码为空,此时可以将密码修改为指定的密码。如:123456

登录数据库:

"E:/mysql-master/bin/mysql" -uroot -P3307

修改密码:

user mysql;

ALTER user 'root'@'localhost' IDENTIFIED BY '123456'

按相同的方法安装另一个mysql服务,文件夹和服务命名为:mysql-slave。

PS:从解压开始,不要为了方便直接复制文件夹。注意替换命令中的路径。

安装完成后,在计算机管理->服务中可以看到两个mysql服务都为启动状态:

在Navicat中新建两个数据库链接,分别为mysql-master和mysql-slave,确保都可以连上。

同时为两个数据库都创建一个名为test的数据库,该数据库将用于同步。

环境说明

主Mysql(mysql-master):

ip:127.0.0.1

端口:3307

账号:root

密码:123456

同步数据库名称:test

从MySQL(mysql-slave):

ip:127.0.0.1

端口:3308

账号:root

密码:123456

同步数据库名称:test

目标:mysql-master和mysql-slave实现test数据库的主从同步。

配置主库(mysql-master)

修改主库my.ini配置文件

在my.ini的配置文件中,添加如下信息:

[mysqld]

log-bin=mysql-bin

server-id=3307

binlog-ignore-db=information_schema

binlog-do-db=test

log-bin:表示启用binlog功能,并指定二进制日志的存储目录

server-id:指定唯一的servr ID,两台数据库的server-id必须是不一样的数字,这里为了方便,用端口号作为server-id,一般线上环境可以用ip地址的最后一段作为server-id。

binlog-ignore-db:binlog日志不记录指定库的更新

binlog-do-db:binlog日志只记录指定库的更新

重启主库

net stop mysql-master

net start mysql-master

创建用于同步的账号

在mysql-master创建一个账号,该账号用于mysql-slave连接到mysql-master,允许该账号在mysql-master上读取日志,赋予mysql-slave有File权限及REPLICATION SLAVE的权限。

1.选中mysql-master数据库,点击“用户”->“新建用户”:

2.填写用户名及密码

例如用户名填写:slave,密码填写:slave123

密码过期策略设置为NEVER

主机填写slave的IP地址,这里是127.0.0.1

3.切换至“服务器权限”,勾选File和Replication Slave,点击保存:

4.登录至mysql-slave数据库,测试是否可以使用账号连接到mysql-master

登录上去后Mysql修改密码,输入mysql命令:

show variables like '%server_id%';

如果显示server_id为3307则说明从库可以顺利连上主库。

线上情况如果连不上,需要检查防火墙是否阻挡或者阿里云安全组是否限制了。

重启主库,登录mysql,查看主库信息

重启mysql-master,登录mysql,查看mysql-master信息:

show master status;

File是同步会使用到的binlog文件

配置从库(mysql-slave)

修改mysql-slave的my.ini配置文件

[mysqld]

log-bin=mysql-bin

server-id=3308

binlog-ignore-db=information_schema

replicate-do-db=test

replicate-ignore-db=mysql

log-slave-updates

slave-skip-errors=all

slave-net-timeout=60

replicate-do-db:要进行主从复制的数据库名

replicate-ignore-db:不进行主从复制的数据库名

log-slave-updates:记录从库更新,允许链式复制( A-B-C )。当该从库作为其他库的主库时,需要添加该参数

重启mysql-slave,进入mysql,配置同步

stop slave;

change master to master_host='127.0.0.1',master_port=3307,master_user='slave',master_password='slave123',master_log_file='mysql-bin.000001', master_log_pos=0;

start slave;

master_host:主库的ip地址,这里为127.0.0.1

master_port:主库的端口,默认为3306,这里为3307

master_user:同步账号,这里为slave

master_password:同步账号的密码,这里为slave123

master_log_file:开始同步的日志文件

master_log_pos:开始同步的日志的开始位置

查看同步状态

show slave status

如果Slave_IO_Running和Slave_SQL_Running的值都是Yes,说明配置成功。

如果Slave_IO_Running为No,则查看后面的Last_IO_Error字段,里面会有详细的出错原因。

如果Slave_SQL_Running为No,则查看后面的Last_SQL_Error字段,里面会有详细的出错原因。

测试同步

在mysql-master中的test数据库中新建一个表,然后查看mysql-slave中的test数据库是否同步也创建了。

从库IO线程 和SQL线程的作用

IO线程 把主库binlog日志里的sql命令记录到本机的中继日志文件

SQL线程 执行本机中继日志文件里的sql命令,把数据写进本机。

————————————————

版权声明:本文为CSDN博主「织梦猫dedemao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!