mysql 主从 主主 配置

Mysql主从配置:
 
1、主数据库配置:打开server-id=1,关闭server-id=2,打开log-bin=mysql-bin和binlog_do_db=同步的数据库,binlog_ignore_db=不同步的数据库

2、进入主数据库:设置用户:GRANT REPLICATION SLAVE ON *.* TO 'user'@'X.X.X.X' IDENTIFIED BY 'password';查询状态:show master status;

3、从数据库配置:打开server-id=2,关闭server-id=1,关闭log-bin=mysql-bin和binlog_do_db=同步的数据库,binlog_ignore_db=不同步的数据库

4、进入从数据库:CHANGE MASTER TO MASTER_HOST='172.16.1.105',MASTER_USER='slave',MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000013', MASTER_LOG_POS=107; start slave;

5、完成测试

Mysql主主配置: 

1.创建用户并授权

  server1:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'server2'@'192.168.1.110' IDENTIFIED BY 'server2';

  server2:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'server1'@'192.168.1.108' IDENTIFIED BY 'server1';

2.修改Mysql的主配置文件

server1:

[mysqld]

server-id = 10

log-bin = mysql-bin

replicate-do-db = mydb

auto-increment-increment = 2   //每次增长2

auto-increment-offset = 1  //设置自动增长的字段的偏移量,即初始值为1

启动Mysql服务:

# service mysqld restart

server2:

[mysqld]

server-id = 20

log-bin = mysql-bin

replicate-do-db = mydb

auto-increment-increment = 2  //每次增长2

auto-increment-offset = 2 //设置自动增长的字段的偏移量,即初始值为2

启动Mysql服务:
# service mysqld restart

注:二都只有server-id不同和 auto-increment- offset不同

auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两台服务器,所以值设为2。

3.重新启动两个服务器

# service mysqld restart

4.为了让两个数据库一样,我们备份其中一个数据库,然后在另一个数据库上恢复,这样是两个数据库一开始都是一样的。在server1上操作:

# mysqldump --databases luowei > /tmp/luowei.sql

在server2上操作:

创建一个与mydb同名的空数据库

# mysql

> CREATE DATABASE mydb;

# scp 192.168.1.108:/tmp/mydb.sql  ./

# mysql -uroot -p mydb < /tmp/luowei.sql

  5.然后两个服务器相互通告二进制日志的位置并启动复制功能:

  在server1上:

# mysql

> CHANGE MASTER TO

> MASTER_HOST='192.168.1.110',

> MASTER_USER='server2',

> MASTER_PASSWORD='server2';

mysql > START SLAVE;

  在server2上:

# mysql

> CHANGE MASTER TO

> MASTER_HOST='192.168.1.108',

> MASTER_USER='server1',

> MASTER_PASSWORD='server1';

mysql > START SLAVE; 


你可能感兴趣的:(mysql,Mysql主从,mysql主主)