注:点击跳转mysql-5.6.39数据库相关安装
一,环境准备
两个mysql数据库均是在Linux CentOS7 系统下
mysql的数据库版本号必须相同均为 mysql-5.6.39
主服务器IP地址:192.168.1.112
从服务器IP地址:192.168.1.114
二,数据库主从同步优点
读取分离,主数据库操作,从数据库读取。
数据备份,减少服务器压力,防止服务崩溃。
三,主从数据库配置详情
主机部分:
编辑my.cnf配置文件
[root@bosslll ~]# vim /etc/my.cnf
在[mysqld]里面添加以下内容
#主机标示,整数 ,建议用IP末位
server-id = 112
#确保此文件可写,开启bin-log
log_bin = mysql-bin
#主机,读写都可以
read-only =0
#需要备份数据,多个写多行
binlog-do-db =tlcss
#忽略无需备份的数据库
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
修改完之后重启mysqld服务
[root@bosslll ~]# service mysqld restart
登录mysqld服务
[root@bosslll ~]# mysql -uroot -p
给从服务器设置连接权限
Mysql> grant replication slave,reload,super on *.* to root@192.168.1.114 identified by 'root';
查看File和position的值,需作记录
从机部分:
编辑my.cnf配置文件
[root@bosslll ~]# vim /etc/my.cnf
在其[mysqld]下添加从服务器端的配置:
#从机标识,整数
server_id = 114
#确保此文件可写,开启bin-log
log_bin = mysql-bin
#从机,只读
read_only = 1
relay_log = mysql-relay-bin
#需要备份数据,多个写多行
binlog-do-db = tlcss
#忽略无需备份的数据库
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schemal
#需要备份到具体指定表,多行写多个
replicate-do-table = tlcss.tb_user_info
replicate-do-table = tlcss.tb_trade
保存并重启mysqld服务
[root@bosslll ~]# service mysqld restart
测试是否可以正常连接上主机数据库(默认3306不用指定,若修改了端口,需指定)
[root@bosslll ~]# mysql -uroot -p -h192.168.1.112 -P3316
若能登陆主机数据库,退出mysql命令行
Mysql> exit;
登陆从机mysqld服务
[root@bosslll ~]# mysql -uroot -p
修改从机数据库对主机数据库的连接参数
这里的master_log_file和master_log_pos是主机中File和position的值
Mysql> change master to master_host='192.168.1.112',master_user='root',master_password='root',
master_port=3316,master_log_file='mysql-bin.000005',master_log_pos=347;
若执行上面命令时报出如下错误
关闭正在运行的slave线程
Mysql> stop slave;
再次执行上面步骤里面的mysql命令
启动slave线程
Mysql> start slave;
查看是否已经主从数据库达成同步
Mysql> show slave status\G (此命令不加分号)
Slave IO Running : yes
Slave SQL Running : yes
这两个结果代表主从数据库已经同步