首页 » SEO优化 » php主从同步技巧_php手把手教你做网站二十八mysql主从数据库同步

php主从同步技巧_php手把手教你做网站二十八mysql主从数据库同步

duote123 2024-11-22 0

扫一扫用手机浏览

文章目录 [+]

前边有过先容这里不再重复,安装完成往后可能会碰着安装往后不能启动的问题。

办理办法:

php主从同步技巧_php手把手教你做网站二十八mysql主从数据库同步

打开注册表(开始->运行->regedit);HKEY_LOCAL_MACHINE->SYSTEM->services;找到做事名称,取决于mysqld install mysql8,安装的时候利用的做事名称,我的是mysql8;找到ImagePath,双击查看数值数据,后边的路径是否是安装mysql的利用的路径,D:\mysql-8.0.27-winx64\bin\mysqld mysql8,个中D:\mysql-8.0.27-winx64是我安装mysql8的路径;

图1 mysql安装多版本 不能启动

php主从同步技巧_php手把手教你做网站二十八mysql主从数据库同步
(图片来自网络侵删)

我利用了一个mysql5.7,还有2个mysql8进行测试。

2、环形主从

A->B->C->D->A

也便是每个做事器即是主数据库,又是从数据库,形成环状,首尾相接。

优点:可以方便改换主机,当A主数据库出了问题,可以把1号从数据库直接换为主数据库;

缺陷:当个中一个从数据库出了问题,后边的链条就断开了,不能做到同步;

3、发散式主从

A->B,A->C,A->D

只有一个主数据库(A),其他的数据库(B、C、D)都是A的从数据库。

4、主从配置

1)主数据库配置(A)my.ini

[mysqld]server-id=1 log-bin=D:\mysql2\log\mysql-bin

解释:

server-id,相称于门牌,每个数据库是唯一的,不要发生重复;log-bin日志的存放位置,我这里是指定了位置;

如果是双向同步,A即是主也是从数据库,如下配置

[mysqld]server-id=1log-bin=D:\mysql2\log\mysql-bin replicate-wild-do-table=master.np_web_copy#高下2个是有空行的,测试,没有空行的时候同步失落败了,#根据自己须要来写,如果同步失落败 又不提示缺点,可以把2个加上空行试试replicate-wild-do-table=master.np_web_tags#replicate_wild_ignore_table= 忽略的表

解释:

replicate-wild-do-table要同步的表;replicate_wild_ignore_table同步的时候忽略的表;如果同步的表比较少,可以利用replicate-wild-do-table指定要同步的,反之如果同步的表格比较多,则该当是指定不同步的表;可以看到我同步的是2个表,2个replicate-wild-do-table之间加了空缺行;配置完成往后数据库做事要重启;

在测试同步的时候开始replicate-wild-do-table是直接没有空缺行写的,但是不提示缺点,也不同步数据,后来加了空缺行就可以同步了。

2)从数据库(B)配置my.ini

和上边主数据库配置是一样的,变动下server-id,log-bin就可以了。

server-id=3log-bin=D:\mysql-8.0.27-winx64\log\master-binreplicate-wild-do-table=master.np_web_copyreplicate-wild-do-table=master.np_web_tags

解释:

如果只是作为从库,log-bin不须要配置;

5、上岸主数据库,创建用户用于主从同步

1)上岸mysql

进入数据库安装目录bin文件夹,地址栏输入cmd

msyql -u root -p -P 3308

由于是本地安装多个数据库,肯定会涉及到利用不同端口

解释:root是用户名,p 后边是密码, 大写的P后边是端口

2)创建用户(主从同步)

mysql8以前的版本

grant replication slave on . to 'slave'@'127.0.0.1' identified by '123456';

mysql8

1、CREATE USER 'slave'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY '123456';2、grant replication slave on . to 'slave'@'127.0.0.1';

flush privileges;

解释:

'slave'@'127.0.0.1'个中127.0.0.1从做事器IP,slave用户名,123456是密码,根据自己须要设置;添加完成用户往后要刷新权限flush privileges;

6、cmd查看主数据库状态

1)锁表,防止在配置的时候日志发生改变,先锁起来,配置完成从数据库往后再解锁

flush tables with read lock;

2)查看主数据库状态

show master status;

图2 master状态

这里可以查看到file(slave-bin.000008),Position(156);每个数据库这里都可能是不同的,根据自己电脑显示的信息记录下来;

7、上岸从数据库

1)如果以前有过配置,须要先停滞同步。

stop slave;

2)设置输入以下代码

CHANGE MASTER TO MASTER_HOST='127.0.0.1',MASTER_PORT=3308,MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='slave-bin.000008',MASTER_LOG_POS=156;

解释:

127.0.0.1主理事器的IP;3308是端口;slave是添加的用户账号;123456用户密码;slave-bin.000008是查看主数据库状态得到的file;156同5一样是查看状态得到的Position;

3)启动同步

start slave;

4)查看状态

show slave status \G#如果只是show slave status;显示会很乱,利用上边的指令显示的会更加清晰一些;

图3 主从同步配置成功

涌现图3显示解释配置成功

5)解锁主数据库

unlock tables;

问题1:Slave_IO_Running为no

查看change master to后边的参数是否精确;

问题2:Slave_SQL_Running: No

开始配置显示yes ,但是操作数据库往后显示为No,这是由于对从数据库进行了写操作;

同步过程中可能涌现的问题:

1049 ,检讨从数据库是否存在,例如要同步的是master数据库,从库中也要存在master;1032,我查看日志是主库删除信息的时候,从库不存在该信息;22.编码问题,当主库是mysql8,从库是5.7的时候涌现了该问题;

以上2、3实在也不算是缺点,对程序的实行没有影响,可以忽略跳过。

打开从数据库mysql.ini添加指令:

slave-skip-errors=22,1032

把稳:如果数据库只是从数据库,不要对该数据库进行写操作,否则会涌现Slave_SQL_Running: No为no的情形;

8、双向同步,数据库即做主库也做从库

须要重复以上步骤:

不必管已经设置好的主从,把B做事器作为主库,A做事器作为从库,重新设置一下主从就可以了。

9、查看日志

当同步失落败的时候,查看从库的状态,

show slave status \G

得到缺点信息

图4 查看状态得到缺点信息

根据缺点提示,去查看对应的日志文件,

利用mysqlbinlog查看日志,进入bin目录

mysqlbinlog --stop-position=23277 ../log/slave-bin.000009 | mysql -u root -p -P 3308

总结:

主从数据库同步之前要确保数据库完备同等,包括数据库名称和表中存储的数据;如果利用低版本的数据库和高版本的数据库主从同步,最好是低版本的作为主库;

相关文章

介绍百度网盘,云端存储时代的创新先锋

随着互联网技术的飞速发展,云计算已经成为现代生活不可或缺的一部分。而在这其中,百度网盘作为国内领先的云存储服务提供商,以其卓越的性...

SEO优化 2025-01-03 阅读1 评论0

介绍监控屏蔽技术,守护个人隐私的利器

随着科技的发展,监控设备已经深入到我们生活的方方面面。在享受便利的隐私安全问题也日益凸显。如何有效屏蔽监控,保护个人隐私,成为人们...

SEO优化 2025-01-03 阅读1 评论0

介绍番号观看方法,轻松驾驭影视世界

随着互联网的普及,网络影视资源日益丰富,番号作为影视作品的标识码,已经成为广大观众了解、搜索和观看影视作品的重要途径。如何正确地使...

SEO优化 2025-01-03 阅读1 评论0

介绍盗微信号黑幕,网络安全的严峻挑战

在数字化时代,微信已成为人们生活中不可或缺的通讯工具。随着微信用户数量的激增,盗微信号的事件也日益增多。本文将深入剖析盗微信号的方...

SEO优化 2025-01-03 阅读1 评论0