博客列表 >MYSQL主从配置

MYSQL主从配置

鱼的熊掌
鱼的熊掌原创
2022年05月11日 14:48:11907浏览

    注:两天服务器mysql版本最好一致

 主库操作

    

        1、进入mysql配置文件 my.cnf或者my.ini

            [mysqld]下

        2、开启bin-log日志

                log-bin=mysql-bin

                binlog_format=mixed

                expire_logs_days = 7  日志存储天数

                binlog-do-db=tajy  日志允许的数据库

                binlog-ignore-db=mysql,infomation_schema,performance_schema,tajy_qianzhi  日志拒绝的数据库

                binlog-do-db=base 仅同步数据库

        

        3、设置服务id

            server-id = 98

        4、登录mysql  mysql -u root -p密码

        5、创建slave账号 从库使用

            创建账号,设置账号权限

            create user 'kangsai'@'%' identified by 'kangsai@123';  创建账号

            grant all privileges on tajy.* to kangsai@"%" identified by 'kangsai@123';  指定数据库权限

            GRANT REPLICATION SLAVE ON *.* TO 'slave账号'@'slave服务器ip';  //允许从库拉取日志

        6、刷新账号权限,重启mysql服务

             flush privileges;

        7、主库锁住,锁住日志无法新增

            flush tables with read lock;

        8、主库解除锁定

            unlock tables

        9、查看主库状态   锁住时记住File和Position

            show master status \G;

            333.png

            10、备份主库数据库导入从库

从库操作

    

            1、进入mysql配置文件 my.cnf或者my.ini

            2、设置服务id

                server-id = 99

            3、设置同步的库

                    replicate-do-db=tajy //同步的库

                    replicate-do-table=base.user  //同步的表

                   slave-skip-errors=all        //跳过所有同步错误

            4、数据库重启

            5、配置主从   mysql -u root -p密码  登录数据库

            CHANGE MASTER TO

            MASTER_HOST='10.102.184.98',//主数据库ip

            MASTER_USER='slave99',          //主数据库账号

            MASTER_PASSWORD='slave99',//密码

            MASTER_LOG_FILE='mysql-bin.000001',//从哪个日志开始同步  主库操作步骤9的File

            MASTER_LOG_POS=1; //从日志的某个节点开始同步   主库步骤9 的Position

            

            6、开启主从同步  进入mysql运行

                start slave;  //开启主从

            7、  查看主从状态  这两个值Yes,主从配置成功

                show slave status\G;

                555.png

            8、停止主从

                stop slave;

            9、存在同步错误 停止主从后,跳过错误事务

                set global sql_slave_skip_counter = 1;

            

            以下都在my.cnf

            主库同步到从库 数据库关系

                replicate-rewrite-db=tajy_qianzhi->tajy_qianzhi

                replicate-rewrite-db=tajy->taiedu  //主从数据库名称不一致,重新指向

            

            同步数据库所有表

                replicate-wild-do-table=tajy_qianzhi.%

            

            单独设置同步的表

                replicate-do-table=taiedu.base_class

                replicate-do-table=taiedu.base_class_teacher

                replicate-do-table=taiedu.base_grade

                replicate-do-table=taiedu.base_grade_director

                replicate-do-table=taiedu.base_role

                replicate-do-table=taiedu.base_student

                replicate-do-table=taiedu.base_tenant

                replicate-do-table=taiedu.base_user







声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议