本帖最后由 传说中的草包 于 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] 纯文本查看 复制代码?
123456 |
#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] 纯文本查看 复制代码?
看到以下代码说明正常.
+——————+———-+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———-+————–+——————+ | mysql-bin.000001 | 308 | | | +——————+———-+————–+——————+ 1 row in set (0.00 sec)
5.重启后,执行以下代码
[SQL] 纯文本查看 复制代码?
123456 |
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] 纯文本查看 复制代码?
Slave_IO_State: Waiting for master to send event Master_Host 主服务器地址 Master_User 授权帐户名 ……… Slave_IO_Running: Yes //此状态必须YES Slave_SQL_Running: Yes //此状态必须YES …….
到此说明正常. |