为什么要用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='mysql-bin.000001',master_log_pos=308;start slave; |
6.等待几秒后从机执行
[SQL] 纯文本查看 复制代码
|
1
|
show slave status\G |
Slave_IO_State: Waiting for master to send event
Master_Host 主服务器地址
Master_User 授权帐户名
.........
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES
.......
到此说明正常.
浙公网安备 33010602011771号