本帖最后由 传说中的草包 于 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
看到以下代码说明正常.
+------------------+----------+--------------+------------------+ | 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.等待几秒后从机执行
Slave_IO_State: Waiting for master to send event Master_Host 主服务器地址 Master_User 授权帐户名 ......... Slave_IO_Running: Yes //此状态必须YES Slave_SQL_Running: Yes //此状态必须YES .......
到此说明正常.
|