ubuntu mysql 主从复制

 

1.主服务开启log_binmysql

# vim /etc/mysql/my.cnf
....
server-id               = 55
log_bin                 = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
...

修改完mysql配置后重启mysqllaravel

# service mysql restart

受权从机权限sql

mysql > grant replication slave on *.* to slave@120.78.62.47 identified by "123456";

刷新权限数据库

mysql> flush privileges;

查看主状态vim

mysql> show master status
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |     2821 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

重启mysql#

#service mysql restart

2.从机bash

开启备份ide

# vim /etc/mysql/my.cnf

 

server-id               = 33
log_bin                 = /var/log/mysql/mysql-bin.log

重启mysqlspa

# service mysql restart

 

mysql> change master to 
     master_host='47.52.100.111',
     master_user='slave',
     master_log_file='mysql-bin.000012',
     master_password='123456',
     master_log_pos=106028;

 

若是报错rest

ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log

请删除文件:code

/var/lib/mysql/master.info
/var/lib/mysql/relay-log.info

开启主从备份并查看

mysql > start slave
mysql > show slave status\G;
 
....
            Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
...

表示成功

复制数据库

因为备份数据并无初始起来,缘由也查了不少,没有解决,想到了个折中的办法:复制数据库,

mysqldump bshop-test -uroot -p123456 --add-drop-table | mysql bshop -uroot -p23456

bshop-test为被复制对象,而后再复制回来,达到数据初始数据一致

mysqldump bshop -uroot -p123456 --add-drop-table | mysql bshop-test -uroot -p123456
相关文章
相关标签/搜索