MySql的主从配置

一、两台ubuntu机器(可以使用VMWare虚拟机),并保证相互之间可以ping通,都装有musql并保证mysql版本尽量一致 我的主数据库版本为5.5.43  从数据库版本为5.5.32

二、进入主数据库并给从数据库给予登录主数据库的权限:grant replication slave on *.* to 'username'@'192.168.X.X' indetfied by 'pwd' with grant option;

三、修改my.conf文件    vim /etc/mysql/my.conf
MySql的主从配置
 binlog-do-db:需要同步的数据库,可以填写多个 server-id不能重复  修改并保存 :wq!

四、在主服务器重启mysql   service mysql restart;    再进入mysql执行  show master status;
MySql的主从配置
 File和Position需要在从数据库上使用,请保存下来。

五、在配置从服务器之前先保证将主服务器的数据库dump出来:

mysqldump -uroot -p****** zhuxin > /home/zhuxin/Desktop/dump1.sql

mysqldump -uroot -p****** master_slave_test > /home/zhuxin/Desktop/dump2.sql

//将dump出来的文件复制到从服务器上

scp dump1.sql [email protected].*.**:/home/slave/Desktop

scp dump1.sql [email protected].*.**:/home/slave/Desktop

接下来就修改从数据库的my.conf文件了   vim/etc/mysql/my.conf

MySql的主从配置

replicate-do-db需要同步的数据库,修改并保存 :wq!

六、进入从数据库 create database zhuxin; create database master_slave_test;

use zhuxin;source /home/slave/Desktop/dump1.sql;

use master_slave_test; source /ome/slave/Desktop/dump2.sql

七、重启从服务器的mysql   service mysql restart

八、进入从数据库   slave stop;

change master to master_host='192.168*.**',master_user='username',master_password='pwd',

master_log_file='binarylog.000025' ,master_log_pos=1337;

slave start;

show slave status;


MySql的主从配置  看见Slave_IO_Running:  YEs

         Slave_SQL_Running:  YES

则证明主从配置成功

九、验证主从配置是否成功、在主数据库上添加数据,在从服务器可以看见同步过来的数据。

十、注意事项:

1、在从服务器上添加数据会破坏主从结构

2、主从设计的目的就是为了读写分离,减少锁竞争,提高mysql的性能,在主数据库进行(IUD)操作,在从数据库进行查询

3、在从数据库可以创建索引,提高查询效率,但是不可以在从服务器创建约束(唯一约束、非空约束)这样会导致主从结构破坏。



 

相关推荐