为什么需要主从复制?
- 如何使用单机服务搭建mysql 时,如果磁盘损坏等愿意可能会导致数据丢失,所以我们可以加上几个副本,当我们执行写操作时,会自动同步到从服务器上。
- 读写分离,我们都是读的性能比写的性能高,利用主从复制,我们可以将不同的请求分到不同的服务器上,提高了服务的并发量
操作
- 配置主服务器
vim /etc/mysql/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=100 # 这里id 主从服务器必须不同!!!
systemctl restart mysql.server # 重启mysql
- 链接主mysql
show master status;
-+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
|mysql-bin.000001 | 1448 | | | |
+---------------+----------+--------------+------------------+-------------
# file = mysql-bin.000001
# Position= 1448 下面要用
- sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
```bash
server-id = 101
systemctl restart mysql.server # 重启mysql
- mysql -u root -p 链接从mysql
mysql> change master to
master_host='主服务ip',
master_user='用户名',
master_password='密码',
master_log_file='mysql-bin.000001',# 上面主服务器获取的file
master_log_pos=1448; # 上面 主服务器获取的Position
mysql> start slave;
mysql>show slave status;
# 在结果中查看如果 Slave_IO_Running= yes | Slave_SQL_Running=yes 说明配置成功了