MYSQL 主从复制---简单易学

本帖最后由 传说中的草包 于 2017-4-12 09:12 编辑

为什么要用mysql主从复制? 这个问题不需要回答吧,,,,,想想,一个人干活快呢,还是一万个能性格功力一样的人干活快呢. 不用解释大家都懂. 那咱们就开始吧. 
先来张图

 
看到了吧. 一台主的. n个从的. 一主多从,而不能一从多主.注意了哈.     那咱们就以  1从1主为例. 下面先配主机

1.主机配置,,, 主机ip地址是 103.212.32.135   进入服务器.编辑一下mysql的config信息. 比如
[Shell] 纯文本查看 复制代码
1
vi /usr/local/mysql/my.cnf
  
然后修改以下几个地址
找到[mysqld]节点 修改或是添加
[SQL] 纯文本查看 复制代码
1
2
3
4
5
6
#log-bin是指开启二进制操作日志
log-bin=mysql-log
#serverid是指他的唯一id,可以理解为IP.所以说以ip的最后三位为id比较合适
server-id=123
#需要同步的库. 不写同步所有
binlog-do-db = 需要同步的数据库,多个用逗号隔开 
重启mysql.
2.添加一个同步用的用户,注意,最好别用root  
[SQL] 纯文本查看 复制代码
1
GRANT REPLICATION SLAVE ON *.* to '用户'@'%' identified by '密码';
这里的%是指所有主机都可以联
重启.到此为止.服务器的配置完成.太尼玛简单了是吧. 没事习惯就好了. 没毛病. 从3开始就是客户端配置了. 

3. 打开从机,比如本地的,也是接第1步的操作个性my.cnf的这两个属性,注意id别重复. 
4.回到服务器,执行一下这条sql
[SQL] 纯文本查看 复制代码
1
show master status

看到以下代码说明正常.
+------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000001 |      308 |              |                  |
   +------------------+----------+--------------+------------------+
   1 row in set (0.00 sec)


5.重启后,执行以下代码
[SQL] 纯文本查看 复制代码
1
2
3
4
5
6
change master to master_host='103.212.32.135',
master_user='用户',
master_password='密码',
master_log_file='[color=Blue]mysql-bin.000001[/color]',
master_log_pos=[color=Red]308[/color];
start slave;


6.等待几秒后从机执行
[SQL] 纯文本查看 复制代码
1
show slave statusG


Slave_IO_State: Waiting for master to send event
              Master_Host  主服务器地址
              Master_User 授权帐户名
                        .........
              Slave_IO_Running: Yes    //此状态必须YES
              Slave_SQL_Running: Yes     //此状态必须YES
                        .......
               


到此说明正常. 
原文地址:https://www.cnblogs.com/ghjbk/p/6697848.html