linux服务器下mysql设置主从同步的过程

    技术2022-05-19  19

    1.从数据库服务器开启rsync

    vi /etc/rsyncd.conf

    编辑rsync配置

    /usr/bin/rsync --daemon

    启动rsync

    2.停止日志收集服务器的crontab

    /etc/init.d/cron stop

    3.停止主数据库rsync

    ps aux |grep rsync 

    kill 进程号

    4.停止主数据库crontab

    /etc/init.d/cron stop

    6.在主数据库设置从数据库的同步帐号

    GRANT REPLICATION SLAVE ON *.* TO 'name'@'ip' IDENTIFIED BY 'password';

    7.编辑主数据库配置

    vi /etc/my.cnf

    在mysqld下增加

     

    [mysqld]

    log-bin   = /home/mysql/log/mysql-bin.log

    server-id = 1

     

    配置完需要重启mysql

    ./bin/mysqladmin -uroot -p shutdown

    ./bin/mysqld_safe &

    5.登录主数据库,加上只读锁

    flush tables with read lock;

    6.获取二进制日志名和偏移量

    show master status;

    7.将主数据库数据库文件打包

    tar -cvf data.tar data

    8.恢复主服务器读写操作

    unlock tables;

    9.打包完发送至从服务器

    rsync -ua d name@ip::modname

    10.停止从服务器mysql

    ./bin/mysqladmin -uroot -p shutdown

    11.从服务器解压文件

    tar -xvf data.tar  -C /home/mysql

    12.编辑从服务器配置

    vi /etc/my.cnf

    在mysqld下增加

     

    [mysqld]

    server-id = 2

     

    其中server-id不要和主服务器的server-id重复

    13.使用--skip-slave-start选项启动从数据库

    ./bin/mysqld_safe --skip-slave-start &

    14.对从数据库服务器做相应设置,指定复制使用的用户,主数据库服务器的IP、端口以及开始执行复制的日志文件和位置

     

    CHANGE MASTER TO

    MASTER_HOST='ip', 

    MASTER_PORT=3306,

    MASTER_USER='name',

    MASTER_PASSWORD='password',

    MASTER_LOG_FILE='日志名',

    MASTER_LOG_POS=位置;

     

    15.在从服务器上,启动slave

    start slave;

    16.查看slave状态

    show slave status/G


    最新回复(0)