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

Mysql学习mysql主从服务器同步心得体会第1/2页

发布时间:2020-12-12 02:52:09 所属栏目:MySql教程 来源:网络整理
导读:《Mysql学习mysql主从服务器同步心得体会第1/2页》要点: 本文介绍了Mysql学习mysql主从服务器同步心得体会第1/2页,希望对您有用。如果有疑问,可以联系我们。 MYSQL实例 原来看过MYSQL同步数据的实现,可是自己还没有动过手,今天没什么事就玩一玩,正好在旁

《Mysql学习mysql主从服务器同步心得体会第1/2页》要点:
本文介绍了Mysql学习mysql主从服务器同步心得体会第1/2页,希望对您有用。如果有疑问,可以联系我们。

MYSQL实例原来看过MYSQL同步数据的实现,可是自己还没有动过手,今天没什么事就玩一玩,正好在旁边有另一台空电脑,都在同一个路由器下.哈哈,正好.

不过首先在找配置文件上就把我卡了好久,由于我用的是xampp安装包,在xampp/mysql/bin目录下看始终没有找到my.cnf,在c:windows目录下也没有发现,



如上图,看到的只有一个”my”的快速拨号的东西,又不是文件,怎么都打不开.后来找了好久才在网上看到说遇到这种情况需要先打开editplus,然后再从editplus里面打开这个文件,果然...

配置就不详说了,网上有很多,我原来也转过一篇.

今天主要是讲一下配置主从服务器需要注意的地方:

首先需要做主从的数据库必须一模一样,如果你的数据库已经运行过一段时间,建议你先删除所有的二进制日志文件,包括索引xxx.index这个文件,否则重启mysql会出错.

从服务器上已经删除掉所有的二进制日志文件,当然包括一个master.info这个文件.这个文件是用来记录主服务器上过来的日志文件和记录位置的.如果你不删除它,它还会依照之前的记录来做,所以会出问题,我在这里浪费了很多时间了.

主服务器诊断:

show?processlist;显示所有的进程.

show?master?status;显示主服务器的日志文件和指针位置.

mysql>?show?master?status;
+――――――+―――-+―――――-+――――――+
File?Position?Binlog_Do_DB?Binlog_Ignore_DB
+――――――+―――-+―――――-+――――――+
mysql-bin.000001?603?videoCommunity
+――――――+―――-+―――――-+――――――+
1?row?in?set?(0.00?sec)

mysql>?show?master?statusG
***************************?1.?row?***************************
File:?mysql-bin.000001
Position:?603
Binlog_Do_DB:?videoCommunity
Binlog_Ignore_DB:
1?row?in?set?(0.00?sec)

如上图,mysql-bin.000001是日志记录文件,603是指针位置.

从服务器(slave)上诊断:

mysql>?show?slave?statusG
***************************?1.?row?***************************
Slave_IO_State:?Waiting?for?master?to?send?event
Master_Host:?master1
Master_User:?root
Master_Port:?3306
Connect_Retry:?60
Master_Log_File:?mysql-bin.000001
Read_Master_Log_Pos:?603
Relay_Log_File:?master2-relay-bin.000053
Relay_Log_Pos:?740
Relay_Master_Log_File:?mysql-bin.000001
Slave_IO_Running:?Yes
Slave_SQL_Running:?Yes
Replicate_Do_DB:?videoCommunity
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:?0
Last_Error:
Skip_Counter:?0
Exec_Master_Log_Pos:?603
Relay_Log_Space:?740
Until_Condition:?None
Until_Log_File:
Until_Log_Pos:?0
Master_SSL_Allowed:?No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:?0
1?row?in?set?(0.00?sec)

确认以上信息和主服务器是否一致.

_baidu_page_break_tag_
另外,上面每个参数的意义如下:

SHOW?SLAVE?STATUS?返回以下信息:

Slave_IO_State?
SHOW?PROCESSLIST?输出的?State?字段的拷贝.从这里可以看出是否线程正在连接主服务器,是否正在等待来自于主服务器的事件,是否正在重新连接主服务器等信息.所有可能出现的状态管理员手册中的复制实现细节列出.这些信息是非常重要的,比如线程虽然运行但是没有成功的连接主服务器,只有这个字段能告诉用户的连接问题.由于?SQL?线程简单,所以它的状态没有拷贝.如果它运行,就没有问题,如果没有运行,可以在?Last_Error?域中找到错误(下面描述).

Master_Host?
目前主服务器主机.

Master_User?
连接主服务器的当前用户.

Master_Port?
当前的主服务器端口.

Connect_Retry?
选项?Cmaster-connect-retry?的当前值.

Master_Log_File?
I/O?线程当前读取的主服务器二进制日志文件的名字.

Read_Master_Log_Pos?
I/O?线程从当前的主服务器二进制日志中读取的位置起点.

Relay_Log_File?
SQL?线程当前读取并执行的中继日志文件的名字.

Relay_Log_Pos?
SQL?线程当前从中继日志中读取执行的位置起点.

Relay_Master_Log_File?
主服务器中二进制日志文件的名字,此文件中包括了最近一次?SQL?线程执行的事件.

Slave_IO_Running?
I/O?线程是否启动.

Slave_SQL_Running?
SQL?线程是否启动.

Replicate_Do_DB,?Replicate_Ignore_DB?
如果有的话,就是以选项?Creplicate-do-db?和?Creplicate-ignore-db?指明的数据库列表.

Replicate_Do_Table,?Replicate_Ignore_Table,?Replicate_Wild_Do_Table,?Replicate_Wild_Ignore_Table?
如果有的话,是以选项?Creplicate-do-table,?Creplicate-ignore-table,?Creplicate-wild-do-table,?and?Creplicate-wild-ignore_table?指明的表的列表.

Last_Errno,?Last_Error?
最近执行的查询返回的错误号和错误信息.错误号是?0?且空的信息表示没有错误.如果?Last_Error?值不空,在从服务器的错误日志中也会出现错误信息.

《Mysql学习mysql主从服务器同步心得体会第1/2页》是否对您有启发,欢迎查看更多与《Mysql学习mysql主从服务器同步心得体会第1/2页》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

(编辑:李大同)

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

    推荐文章
      热点阅读