mysql 主从服务器搭建

一、master:

1、配置:[mysqld]
#主机id 不能和从机id重复
server-id=1
#Master start
#系统错误日志
log-error=/opt/mysql_log/master/master_mysql_error.log
#日志输入地址 主要同步使用
log-bin=/opt/mysql_log/master/master-log-bin.log
#同步数据库
binlog-do-db=fp
#Master end

2、授权(给slave机子授权):
  grant replication slave on *.* to 'slave'@'192.168.105.174' identified by 'slave';

3、sql:
#查看当前Master的状态
mysql>show master status\G

二、slave:
1、配置:[mysqld]
#从机id,区别于主机id
server-id=2
#Slave start
#系统错误日志
log-error=/opt/mysql/slave/slave_mysql_error.log
#日志地址 主要同步使用
log-bin=/opt/mysql/slave/slave-log-bin.log
#需要同步的数据库
replicate-do-db=fp
#启用从库日志,这样可以进行链式复制
log-slave-updates
#从库是否只读,0表示可读写,1表示只读
read-only=0
#Slave end



2、设置:
mysql>change master to master_host='192.168.12.120',master_user='slave',master_password='slave',master_Port=3306,master_log_file='master-log-bin.000001',master_log_pos=98;

(可用参数:
slave_io_state: waiting for master to send event
master_host: 192.168.12.120
master_user: slave
master_port: 3306
connect_retry: 60#重试间隔时间60秒
master_log_file: master-log-bin.000001
read_master_log_pos: 107
relay_master_log_file: master-log-bin.000001
replicate_do_db: ms_test
replicate_ignore_db:
replicate_do_table:
replicate_ignore_table:
replicate_wild_do_table:
replicate_wild_ignore_table:
)

3、sql:
#启动slave
mysql>start slave;
#关闭slave
mysql>stop slave;
#查看当前进程的状态
mysql>show processlist\G
#查看当前slave的状态
mysql>show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
说明ok
select master_pos_wait('master-log-bin.000001',190283);


4、复制
使用mysqldump来得到一个数据快照可分为以下几步:
a、锁表:如果你还没有锁表,你应该对表加锁,防止其它连接修改数据库,否则,你得到的数据可以是不一致的。如下:
mysql> flush tables with read lock;
b、在另一个连接用mysqldump创建一个你想进行复制的数据库的转储(shell> mysqldump --all-databases --lock-all-tables >dbdump.sql)
shell> mysqldump -u root -proot fp --lock-all-tables >d:\aaa.sql
c、对表释放锁。
mysql> unlock tables;

5、解决非同步
mysql>stop slave;
mysql>change master to master_host='192.168.12.120',master_user='slave',master_password='slave',master_Port=3306,master_log_file='master-log-bin.000001',master_log_pos=98;
mysql>start slave;



你可能感兴趣的:(mysql)