CentOS 7 mysql-5.6.39主从数据库读取分离

注:点击跳转mysql-5.6.39数据库相关安装

一,环境准备

        两个mysql数据库均是在Linux CentOS7 系统下
        mysql的数据库版本号必须相同均为 mysql-5.6.39
        主服务器IP地址:192.168.1.112

        从服务器IP地址:192.168.1.114

二,数据库主从同步优点

        读取分离,主数据库操作,从数据库读取。

        数据备份,减少服务器压力,防止服务崩溃。

三,主从数据库配置详情

        主机部分:

                编辑my.cnf配置文件

                $ 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服务

                $ service mysqld restart

                登录mysqld服务
                $ mysql -uroot -p
                给从服务器设置连接权限
                Mysql>$ grant replication slave,reload,super on *.* to [email protected] identified by 'root';

                查看File和position的值,需作记录

                CentOS 7 mysql-5.6.39主从数据库读取分离

        从机部分:

                编辑my.cnf配置文件     
                $ 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服务
                $ service mysqld restart
                测试是否可以正常连接上主机数据库(默认3306不用指定,若修改了端口,需指定)
                $ mysql -uroot -p -h192.168.1.112 -P3316
                若能登陆主机数据库,退出mysql命令行
                Mysql>$ exit;
                登陆从机mysqld服务
                $ 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;

                若执行上面命令时报出如下错误

                CentOS 7 mysql-5.6.39主从数据库读取分离

                关闭正在运行的slave线程
                Mysql>$ stop slave;
                再次执行上面步骤里面的mysql命令
                启动slave线程
                Mysql>$ start slave;
                查看是否已经主从数据库达成同步
                Mysql>show slave status\G  (此命令不加分号)
                Slave IO Running : yes
                Slave SQL Running : yes

                这两个结果代表主从数据库已经同步

                CentOS 7 mysql-5.6.39主从数据库读取分离