知名的家居行业网站开发,成品网站定制,梅州建站塔山双喜,宝山做网站价格当数据库的数据量读写频繁的时候#xff0c;我们就要考虑把数据库的读写分开#xff0c;以提高数据库的使用效率#xff0c;(当然还有其他用处比如#xff0c;备份数据)#xff0c;这个时候我们就要用到mysql的一个功能#xff0c;数据库同步。下面就具体讲一下实现方法。…当数据库的数据量读写频繁的时候我们就要考虑把数据库的读写分开以提高数据库的使用效率(当然还有其他用处比如备份数据)这个时候我们就要用到mysql的一个功能数据库同步。下面就具体讲一下实现方法。一、系统环境主数据库(master)系统windows数据库MySQL 5.0.51IP192.168.1.156从数据库(slave)系统linux数据库MySQL 5.0.67IP192.168.1.154二、配置参数发现网上说两个数据库的配置必须一致还把两个配置文件对拷。看起来挺有道理因为怕部分功能不一致也有可能导致同步错误。但是我的两个MYSQL的所在系统都不一样所以就按照默认的安装配置了。数据库准备要同步的数据库叫 account那就必须把主服务器上的account和数据完整的导一份 到slave服务器上且在主服务器上开一个帐户允许从服务器访问。主数据库(master)配置修改mysql 的配置文件my.cnf,找到 server-id 这一行更改如下server-id 1且增加两行必要信息log-bin d:/log-bin.log #二进制变更日值的存放位置binlog-do-db account #要同步的数据库解释下Slave上Mysql的Replication工作有两个线程,I/O thread和SQL thread,I/O 的作用是从master 3306端口上把它的binlog取过来(master在被修改了任何内容之后,就会把修改了什么写到自己的binlog等待slave更新),然后写到本地的relay-log,而SQL thread则是去读本地的relay-log,再把它转换成本Mysql所能理解的东西于是同步就这样一步一步的完成.master数据库的修改仅此一步就OK了从数据库(slave)配置修改 mysql 下的my.cnf找到 server-id 这一行更改如下server-id 2 //从数据库master-host 192.168.1.156master-user lzymaster-password lzymaster-port 3306replicate-do-db account //要同步的数据库最后把两个mysql都重启动一下。1、看看刚才设置的日志路径下有没有日志生成。2、在156上添加一条数据看看从数据库有没增加。如果没有看看slave数据库的错误日志根据错误信息具体调试下。小插曲配置好同步后我发觉log-bin的日志位置不好想换一个地方于是改到其他盘去了。重启MYSQL后发现同步不能用了。超级郁闷。于是去看了下mysql的错误日志“count not find first log file name in binary log in…”找了半天没找到原因忽然发现错误日志的同目录下有个master.info文件应该是记录从主服务器取数据的记录吧。打开看了看是的14log-bin.000003337192.168.1.156lzylzy3306600我把这个文件删除了重启动mysql。OK了数据同步过来了。