MYSQL(版本5.6)主从配置流程(使用PUTTY)记录

    xiaoxiao2021-11-08  67

    1、先开启3306端口(主从服务器都打开)。

    Oneinstack方法:1)、iptables -IINPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT      #打开 iptables 3306 端口

    2)、service iptablessave #保存 iptables 规则

    2、配置主数据库:使用VI 命令查看编辑my.cnf。方法:vi /etc/my.cnf。VI使用命令大全:http://man.linuxde.net/vi。(或使用SFTP将my.cnf文件下载下来使用编辑器编辑后上传覆盖。)

    配置:server-id = 1

    log-bin= mysql-bin

    binlog_format = mixed

    binlog-do-db = chs

    binlog-ignore-db = mysql

    binlog-ignore-db = performance_schema

    binlog-ignore-db = information_schema

    binlog_checksum=NONE

    3、建立主数据库用户用于从数据库同步数据使用,方法:grant replication slave on *.* to 账号@从数据库IP地址 identified by '密码'

    4、查看主数据库状态

    方法:flushprivileges;##用户权限立即生效

    show master status;##查看主库状态

     

    +------------------+----------+--------------+---------------------------------------------+-------------------+

    | File             | Position | Binlog_Do_DB |Binlog_Ignore_DB                           | Executed_Gtid_Set |

    +------------------+----------+--------------+---------------------------------------------+-------------------+

    | mysql-bin.000010 |      120 | chs          |mysql,performance_schema,information_schema |                   |

    +------------------+----------+--------------+---------------------------------------------+-------------------+

     

    5、配置从数据库:配置文件方法:vi /etc/my.cnf。

    配置:server-id=2 ##正常id与主库不一样即可

    relay-log-index = slave-relay-bin.index

    relay-log = slave-relay-bin

    sync_master_info = 1

    sync_relay_log = 1

    sync_relay_log_info = 1

    6、从数据库建立要同步的数据库,执行配置连接主库:change master to master_host = '192.168.9.33', master_user ='slave', master_port=3306, master_password='123456', master_log_file ='mysql-bin.000011',master_log_pos=8310;

    7、开始同步 :start slave;         查看同步状态:show slave status\G;

    正常状态

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    8、解决主从不同步

    方法一:忽略错误后,继续同步

    该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况

    解决:

    stop slave;

    #表示跳过一步错误,后面的数字可变

    set global sql_slave_skip_counter =1;

    start slave;

    之后再用mysql> showslave status\G  查看:

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    ok,现在主从同步状态正常

    方式二:重新做主从,完全同步

    该方法适用于主从库数据相差较大,或者要求数据完全统一的情况

    解决步骤如下:

    1.先进入主库,进行锁表,防止数据写入

    使用命令:

    mysql> flush tables with read lock;

    注意:该处是锁定为只读状态,语句不区分大小写

    2.进行数据备份,然后将备份数据导入从数据库

    设置从库同步,注意该处的同步点,就是主库show master status信息里的| File| Position两项

    change master to master_host ='192.168.128.10', master_user = 'slave', master_port=3306,master_password='123456', master_log_file = 'mysqld-bin.000001',master_log_pos=3260;

    3、重新开启从同步,start slave;

    4、查看同步状态,show slave status\G;

    显示Slave_IO_Running:Yes

    Slave_SQL_Running: Yes

    5、从库同步成功,即可解锁主库:mysql>unlock tables;

     

    数据库操作

    1、创建数据库用户方法:CREATE USER 'pig'@'%' IDENTIFIED BY '123456';

    2、grant all privileges on chs.* to pig@'%' identified by '123456'; ###授权

    3、mysqldump -u root -p 要备份的数据库 -F > /tmp/test_backup_`date +%Y_%m_%d_%H_%M_%S`.sql ####备份数据库

    4、A服务器拷贝备份到B服务器:scp -r/tmp/test_backup_2015_10_18_23_33_30.sql root@192.168.1.153:/tmp

    5、在从库中还原数据库:mysql -u root -p test< /tmp/test_backup_2015_10_18_23_33_30.sql

    转载请注明原文地址: https://ju.6miu.com/read-678116.html

    最新回复(0)