您的位置:首页 > 数据库 > MySQL

mysql的主从复制

2010-10-22 13:46 363 查看
这段时间对mysql 的replication做了一个实验,从开始到真正运行成功花了我整整五天的时间,其中主要是自己很多东西自己太粗心,现将我在配置过程中遇到的问题写下来,希望能够帮助那些在配置过程中遇到与我同问题的人能够少走弯路

配置环境

为了以后在实验过程中能够更好的扩展,所以我以windows 中的mysql server做为master,而以虚拟机中的utuntu 中的mysql server做为slave

master ip:192.168.8.41

slave ip:192.168.8.3

具体配置过程我就不写了,只把我遇到的问题给大家写出来

在这个问题,真是很难发现,这个问题是不管我怎么操作,在slave机上运行show slave status /g 得到的信息里面slave_io_running使终是NO,而且在master机上运行show processlist /g,使终少了一个master 的binlog dump这样的线程,死活找不出什么原因,后来我在master里面运行了status(可以用/s)命令后,发现在master机上我以前设置的默认字符集是utf8的,此时好像这样的信息给我一个提示,我马上到slave机上,进入到mysql,运行status,看到的信息里面提示默认字符集是lant1这个,我隐隐当中感觉到问题应该是出在这里,字符集不同会引起slave连不上master,也就自然使slave_io_running出问题,我进入到slave的my.cnf,把默认字符集改成utf8,重启SLAVE,再进入到slave机上以master分配的帐户进入到MASTER里面的MYSQL,运行以下命令slave stop;change slave(这条命令具体形式我就不写了),slave start;运行以下这些后,再进入到master里面运行show processlist /g,看一下信息,是不是已经多了一个binlog dump线程,如果有了这条再加上slave端的两个线程,这就代表你的replication环境配置成功了

在此过程中,我查了很多原因,以为防火墙,或者我分配的帐户有问题,在诸多测试后,确定这些都不是问题的所在,而我却找不到原因时,我疯狂的百度,谷歌,与我所描述的问题是一样,但具体细节却是很大不同,没办法只能靠自己,所以就出现了上面无意间的发现,到最后解决问题,所以我想说,做这些还是自己得多细心,多观察,说不定不惊意间的发现就可以使你解决问题,祝好运
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: