mysql的主从模式配置

1、改主库配置文件:
[mysqld]
log-bin=mysql-bin
server-id=1

2、授权,导数据:
grant replication slave on *.* TO 'replication'@'192.168.234.123' identified by 'replication';

mysqldump --master-data=2 --single-transaction -uroot -p --all-databases >dumpfile
//记下导出瞬间的日志文件和偏移(--master-data=2)

主库:
FLUSH TABLES WITH READ LOCK;--先把主库设置成只读,然后导出SQL或者直接复制数据文件
SHOW MASTER STATUS; --记下日志文件和偏移
UNLOCK TABLES; --恢复主库写入

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 250 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

3、备库:
复制主库的/etc/my.cnf和dumpfile。
把主库配置里的 server-id 改成2(或者3、4,多个备库保存互不相同),再加上

relay-log=slave-relay.log
relay-log-index=slave-relay-log.index
导入数据: mysql <dumpfile

SLAVE STOP;
CHANGE MASTER TO
MASTER_HOST='192.168.234.124',
MASTER_PORT=3306,
MASTER_USER='replication',
MASTER_PASSWORD='replication',
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=321;
SLAVE START;

SHOW PROCESSLIST;
查看同步的状态,如果此命令的输出里有两个“system user”的进程,并且Command都是“Connect”就差不多OK。
mysql> SHOW PROCESSLIST;
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------+------------------+
| 5 | root | localhost | test | Query | 0 | NULL | SHOW PROCESSLIST |
| 6 | system user | | NULL | Connect | 226 | Waiting for master to send event | NULL |
| 7 | system user | | NULL | Connect | 99 | Has read all relay log; waiting for the slave I/O thread to update it | NULL |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------+------------------+

注意事项:
1)
出现这个错误: ERROR 1201 (HY000): Could not initialize master!
mysql> slave stop;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> reset slave;
Query OK, 0 rows affected,(0.00 sec)

默认bin_log的路径在:/var/lib/mysql/

查看mysql的版本:
1)mysql -V
2)mysql --help
3)进入mysql:status
4)进入mysql:select version();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值