温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql中怎么配置主从复制

发布时间:2021-06-21 17:03:27 来源:亿速云 阅读:133 作者:Leah 栏目:大数据

mysql中怎么配置主从复制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.下载mysql安装包(我用的是解压版的mysql-5.7),解压成两份分别命名为MySQLmaster和MySQLslave

2.修改master的my.ini文件

[mysqld]

#端口
port = 3306
basedir=D:/hlb/ruanjian/mysql5.7_master/mysql-5.7.25-winx64
datadir=D:/hlb/ruanjian/mysql5.7_master/mysql-5.7.25-winx64/data 
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


#需要备份的数据库  
binlog-do-db=test

#不需要备份的数据库  
#binlog-ignore-db=mysql 
#注:bin-do-db,bin-ignore-db 为互斥关系,只需设置其中一项即可 

#开启二进制日志
log-bin=mysql-bin

#服务id
server-id=1
[mysql]
default-character-set=utf8

3.修改slave的my.ini文件

[mysqld]
port = 3307
basedir=D:/hlb/ruanjian/mysql5.7_slave/mysql-5.7.25-winx64
datadir=D:/hlb/ruanjian/mysql5.7_slave/mysql-5.7.25-winx64/data 
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#服务器id
server_id = 2

#开启二进制日志(从服务器不是必须要开启二进制日志)
log-bin=mysql-bin 


[mysql]
default-character-set=utf8

4.mysql解压版安装

   )1.以管理员身份打开cmd.exe
   )2.cd D:\hlb\ruanjian\mysql5.7_slave\mysql-5.7.25-winx64\bin
   )3.mysqld -install mysqlmaster(或者是mysqlslave)
   )4.mysqld --initialize-insecure --user=mysql(此语句用于初始化MySQL并生成data目录)
net start mysql 启动MySQL命令  
net stop mysql  停止MySQL命令 
mysql -uroot -P3306(或者-P3307)进入mySQL命令行

5.配置master Mysql。

binlog-do-db(前面修改master 的my.ini文件有此参数)用于指定需要同步的数据库,binlog-ignore-db指定不需要同步的数据库,如果这两个参数都不设置,则从服务器会复制主服务器的所有数据库。
一般不用root账号作同步账号,为此,我们需要在主服务器上创建一个新的用户(如 user01,密码为123456)。

这里我们用命令行的方式创建,方法如下:

    )1.创建新用户: 
create user 'user01'@'127.0.0.1' identified by '123456';(@后面的ip地址为允许连接的客户端的ip地址。)

   )2.给新用户配置主从复制的权限:
grant replication slave on *.* to 'user01'@'127.0.0.1' identified by '123456';
    (@后面的ip地址为允许连接的客户端的ip地址,如果改为 '%',就表示客户端没有ip地址的限制)

   )3.查看主服务器的 master 状态:mysql> show master status;(从配置会用到里面的信息)

6.配置slave Mysql

连接MySQL从服务器:
mysql -uroot -p -P3307

配置复制的参数:
change master to master_host='127.0.0.1',master_user='user01',master_password='123456',master_port=3306,master_log_file='mysql-bin.000008',master_log_pos=498;
启动从服务器的slave复制功能:

start slave;

查看从服务器的slave状态:
mysql> show slave status \G
如果 Slave_IO_Running 和 Slave_SQL_Running 的值都为 Yes,则说明主从复制的所有配置已成功,即从服务器已经可以自动与主服务器的数据库数据实现同步了。
此后,只要主服务器的数据有更新(比如:在 test数据库中新建了一张表或者表中的数据发生了变化),从服务器都会自动与主服务器保持一致。

但如果有人刻意改变了从服务器的数据,主服务器中的数据并不会同步更新,除非我们把这两个MySQL服务器设置为互为主从。

insert into user values(1,'aa')  主MySQL测试即可

截图效果如下:

mysql中怎么配置主从复制

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI