--master(主)slave(从)服务器--
1、 我们打开(主)的数据库配置文件,添加:
vi /etc/my.cnf
加入以下内容
```
server-id = 1------------------------------->配置服务器的服务号
log-bin =master--------------------------->指定数据库操作的日志文件
replicate-do-db= pos-------------------->指定要同步的数据库,如果有多个,请重复该行内容并修改数据库名称为对应数据库。
replicate-ignore-db= mysql-------------->指定不需要同步的数据库
replicate-ignore-db= information_schema
max_binlog_size= 500M----------------->设置日志文件得最大值,超过该值则另启文件记录日志
binlog_cache_size= 128K--------------->设置日志文件缓存大小
```
2.slave主机
vi /etc/my.cnf
加入以下内容(如果仅配置主从同步,红色字体部分可以不配置)
```
server-id = 2 ------------------------------->配置服务器的服务号
log-bin = master--------------------------->指定数据库操作的日志文件
replicate-do-db = pos-------------------->指定要同步的数据库,如果有多个,请重复该行内容并修改数据库名称为对应数据库。
replicate-ignore-db = mysql-------------->指定不需要同步的数据库
replicate-ignore-db = information_schema
max_binlog_size = 500M----------------->设置日志文件得最大值,超过该值则另启文件记录日志
binlog_cache_size = 128K--------------->设置日志文件缓存大小
```
2.重启mysql服务
3.创建账号(主)
登录数据库
```
mysql -hlocalhost -uroot -p
```
创建同步账号 mytest 密码为12345678的账号
```
mysql> grant replication slave on *.* to 'mytest'@'%' identified by '12345678';
Query OK, 0 rows affected, 1 warning (0.01 sec)
```
查看
```
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000010 | 3648 | | | |
+------------------+----------+--------------+------------------+-------------------+
```
4.(从)服务器上进行配置
登录数据库
```
mysql -hlocalhost -uroot -p
```
```
change master to master_host='47.106.150.141',master_user='mytest',master_password='12345678',master_log_file='mysql-bin.[File]',master_log_pos=[Position];
[File]和[Position]要和主机状态显示一致
为主服务器运行show master status显示的结果,替换之后
```
```
change master to master_host='47.106.150.141',master_user='mytest',master_password='12345678',master_log_file='mysql-bin.000010',master_log_pos=16810;
```
最终运行,注意替换[File]和[Position]为自身服务器数据库的配置。
start slave;#开启从服务
show slave status\G #查看从服务状态,如下两个选项都为yes表明主从成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
注:Slave_IO_Running为 connecting的时候或者Slave_SQL_Running为NO
1.可能是主机ping不通
2.密码错误,
3.配置错误,请检查配置
4.防火墙是否关闭
修改配置需关闭 slave
首先停掉Slave服务:slave stop
到主服务器上查看主机状态:
记录File和Position对应的值
```
mysql> show master status;
±---------------------±---------±-------------±-----------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
±---------------------±---------±-------------±-----------------+
| localhost-bin.000094 | 33622483 | | |
±---------------------±---------±-------------±-----------------+
1 row in set (0.00 sec)
```

配置主从数据库数据实时同步