Linux下安装MySql(主备)

一、复制原理
mysql进行主备复制使用到了三个线程:
1.主库上的转存储线程:
    会将mysql server提交的事务写入到二进制文件中,这个二进制文件就叫做binlog。
2.备库上的连接线程:
    备库启动后,负责和主库通信,读取binlog,同时,将binlog存储进自己的一个叫中继日志的relaylog中。
3.备库上的relaylog重放线程:
   此线程会将relaylog中的事件在备库上进行回放,说白点就是重新执行一次


二、配置MySQL主服务器
mysql  -uroot  -p
grant replication slave  on *.* to 'osyunweidbbak'@'192.168.21.168' identified by '123456' with grant option;


vi /etc/my.cnf
server-id=1
log_bin=mysql-bin  #启动MySQ二进制日志系统
binlog-do-db=osyunweidb  #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-ignore-db=mysql   #不同步mysql系统数据库


service mysqld restart
mysql -u root -p
show master status;  # 注意:这里记住File的值和Position的值,后面会用到。


三、配置MySQL备服务器
vi /etc/my.cnf
server-id=2
log-bin=mysql-bin
replicate-do-db=osyunweidb
replicate-ignore-db=mysql


service mysqld restart
mysql  -u root -p
slave stop;
change master to master_host='192.168.21.169',master_user='osyunweidbbak',master_password='123456',master_log_file='mysql-bin.000019' ,master_log_pos=7131;    #执行同步,这里用上刚才的File的值和Position的值
slave start;


四、验证
(1)服务验证
MySQL备服务器
mysql  -u root -p
SHOW SLAVE STATUS\G
注意查看Slave_IO_Running: Yes;Slave_SQL_Running: Yes
(2)建表验证
.MySQL主服务器
mysql  -u root -p
use osyunweidb
CREATE TABLE test ( id int not null primary key,name char(20) );
.MySQL备服务器
mysql  -u root -p
use osyunweidb
show  tables;


五、导出导入
导出
flush tables with read lock;
mysqldump -u root -p osyunweidb > /home/osyunweidbbak.sql (导出数据库osyunweidb)
unlock tables;
导入
mysql  -u root -p
create database osyunweidb;
use osyunweidb
source  /home/osyunweidbbak.sql


参考:http://www.cnblogs.com/cchun/p/3712637.html

你可能感兴趣的:(linux)