mysql 主从
准备工作 :准备两台服务器作为数据库的服务器(我用的是CentOS7系统的)
1.关闭防火墙和SELinux
systemctl stop firewalld setenforce 0
2.安装数据库 启动数据库并将数据库设置未开机自启
yum -y install mariadb mariadb systemctl start mariadb systemctl enable mariadb
3.编辑数据库的配置文件
首先是主的配置文件 在[mysqld]的模块下下添加 添加完成后重启mariadb的服务
vim /etc/my.cof
##############################
server-id=1 log-bin=mysql-bin
##############################
systemctl restart mariadb
现在是从的服务器的配置文件 同样在[mysqld]的模块下下添加 添加完成后重启mariadb的服务
vim /etc/my.cnf ######################## server-id=2 relay-log=mysql-relay ######################## systemctl restart mariadb
4.进入主的MySQL中做给新建的用户授权 以及刷新权限 查看二进制日志文件
grant all on *.* to 'cyy'@'192.168.18.%' identified by '123'; flush privileges; show master status; //执行完这条命令后就如果可以看到以下内容 继续执行下一步 +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 763 | | | +------------------+----------+--------------+------------------+
5.来到从的MySQL的服务器上
stop slave; change master to -> master_user='cyy', -> master_host='192.168.18.140', -> master_password='123', -> master_log_file='mysql-bin.000001', -> master_log_pos=763; start slave; show slave statue \G; 执行这条命令如果看到以下内容表示成功 ------------------------------------------------------------------ Slave_IO_Running: Yes Slave_SQL_Running: Yes -----------------------------------------------------------------
6.最终测试是否完成主从复制可以在住的服务器上新建一个数据库 如果可以在从的服务器上查看数据库的时候 可以看到在主的服务器上创建的数据库表示成功