mysql主从复制配置(windows和linux操作都有)

主从复制是什么?

mysql主从复制是一个异步的复制过程,底层是基于mysql数据库自带的二进制日志功能。就是一台或多台mysal数据库(slave,即从库)从另一台mysql数据库(master,即主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。Mysql主从复制是Mysql数据库自带功能,无需借助第三方工具。

操作实践

我这里主库是linux,从库是windows系统的,可以参考操作
  1. 配置前提条件 准备好两台服务器,分别安装MySQL并启动服务。主库mater,从库Slave
  2. 修改配置文件(主库) 在/etc/my.cnf下添加信息,如图,(第一句意味启用二进制日志,第二句为设置服务器唯一ID) [mysqld] log-bin=mysql-bin server-id=100 修改完了要重启数据库一下 systemctl restart mysqld
  3. 登录mysql,执行下面的sql(主库) mysql -u用户名 -p密码 GRANT REPLICATION SLAVE ON *.* to xiaoming@% identified by Root@123456; 该sql的作用是创建一个用户xiaoming,密码为Root@123456,并且给xiaoming赋予REPLICATION SLAVE权限。常用于建立复制时所需要用到的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制。
  4. 查看主库状态 show master status; 记住这个position
  5. 修改从库配置文件 给从库设置ID,并且重启从库mysql,在/mysql/my.ini里面 window重启mysql操作 net start mysql; net stop mysql;
  6. 在从库中执行下面的(记得将单引号中的数据修改为自己的数据) change master to master_host=主库ip,master_user=xiaoming,master_password=Root@123456,master_log_file=mysql-bin.000001,master_log_pos=441; 开启slave start slave;
  7. 查看从库数据库状态 show slave statusG;这样就竖着输出,不会乱 如图,这样子就设置好了

验证主从设置

分别连接两个数据库,从主库中完成增删改数据库,表,数据的操作,看从库是否同步。

经验分享 程序员 微信小程序 职场和发展