美文网首页码上的那些事我爱编程
mysql主(master)从(slave)数据库复制的配置

mysql主(master)从(slave)数据库复制的配置

作者: 爱音乐的二狗子 | 来源:发表于2018-04-10 20:36 被阅读21次

主从数据库作用:

1.对数据库进行读写分离,提高系统性能。主服务器专注于写操作,从数据库专注于读操作。
2.从(slave)数据库在不破坏主数据库数据的情况下,执行数据备份。
3.用主数据库产生实时数据,从(slave)数据库进行数据的分析。
4.远程数据分布:创建远程站点的本地数据副本,不需要永久的访问主服务器。

步骤: 1.修改主服务器数据库的配置文件(my.ini或my.cnf),配置如下内容。

[mysqld]
log-bin=mysql-bin
server-id=156       //这里一般去服务器ip位数

2.为执行复制的从数据创建用户、密码,并分配权限。

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'password';   //'%'代表允许 该用户远程访问数据库
mysql> GRANT  REPLICATION  SLAVE ON  *.*   TO 'user'@'%';

注意:如果在本地测试,要配置本地数据库允许远程连接。
3.获取二进制日志文件信息,若显示为空,请重启数据库即可查看到。

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73       | test         | manual,mysql     |
+------------------+----------+--------------+------------------+

(File:日志文件名 Position: 文件坐标) 4.在主数据库中释放表锁,在从数据库中进行相关配置。
a. 主数据库释放锁:

mysql> UNLOCK TABLES;

b.修改从数据库配置文件,配置server-id:

[mysqld]
server-id=232

c.在从数据库中进行连接主数据库的配置:

mysql> CHANGE MASTER TO
    ->     MASTER_HOST='master_host_name',
    ->     MASTER_USER='replication_user_name',
    ->     MASTER_PASSWORD='replication_password',
    ->     MASTER_LOG_FILE='recorded_log_file_name',
    ->     MASTER_LOG_POS=recorded_log_position;

5.启动从服务器并查看状态:

mysql> start  slave;     //停止用 stop
mysql>show slave staus\G;
image.png
Slave_IO_Running状态不为YES,说明从数据库未能成功连接到主数据库。 配置成功后,你对主数据库的更新操作都会更新到从数据库(异步处理)。
以上纯属个人理解,更多详情请查看文档:https://dev.mysql.com/doc/refman/5.7/en/replication.html

相关文章

网友评论

    本文标题:mysql主(master)从(slave)数据库复制的配置

    本文链接:https://www.haomeiwen.com/subject/iltohftx.html