美文网首页
MySQL主从服务安装步骤

MySQL主从服务安装步骤

作者: ringozhang | 来源:发表于2015-03-17 17:00 被阅读0次

    MySQL主从服务安装步骤

    安装MySQL

    安装epel源和remi源

    安装MySQL

    yum install -y --enablerepo=remi  mysql-libs  mysql-devel  mysql  mysql-server
    

    创建MySQL服务所需的目录

    mkdir -p /opt/data/mysql  &&  chown -R  mysql:mysql  /opt/data/mysql
    mkdir -p /var/log/mysql && chown -R mysql.mysql /var/log/mysql
    

    将下列代码替换/etc/my.cnf

    [mysqld]
    user                    = mysql
    bind-address            = 10.0.0.104    #监听IP
    port                    = 3306      #监听端口
    character_set_server    = utf8      #默认字符集编码    
    max_connect_errors      = 100000
    max_connections         = 500
    server-id               = 1000
    skip_name_resolve
    datadir                 = /opt/data/mysql
    log-error               = /var/log/mysql/mysql-error.log
    socket                  = /var/lib/mysql/mysql.sock
    pid-file                = /var/run/mysqld/mysqld.pid
    back_log                = 2000  #创建TCP连接时,允许的最大同时未完成的连接个数(主要适用于短连接场景)
    binlog-format           = MIXED     #Binlog写入格式,共有ROW/STATEMENT/MIXED三种可选。一般使用MIXED
    log-bin                 = /opt/data/mysql/mysql-bin.log #Binlog日志保存路径
    expire_logs_days        = 3     #Binlog保留时间(单位:天)
    max_binlog_size         = 100M      #每个binlog日志大小
    binlog_cache_size       = 4M        #binlong缓存大小
    max_binlog_cache_size   = 512   #最大binlog缓存大小
    symbolic-links          = 0
    

    修改MySQL数据安装路径

    mysql_install_db --user=mysql --datadir=/opt/data/mysql
    

    这里的--datadir路径和/etc/my.cnf里参数datadir一致

    启动MySQL

    service mysqld start
    

    创建新的授权帐号root

    grant all on *.* to 'root'@'%' with grant option;
    flush privileges;
    

    清理垃圾帐号

    delete from mysql.user where user = '';
    delete from mysql.user where host = '::1';
    flush privileges;
    

    数据库主从配置

    配置主从需要特注意一点,就是主库和从库配置文件里的参数server-id必须都保持唯一

    主库server-id:


    主库server-id主库server-id

    从库server-id:


    从库server-id从库server-id

    创建主从同步帐号

    grant replication slave, replication client on *.* to  'replication'@'%' identified by '123456';
    

    导出主库

    mysqldump -h10.0.0.104 -uroot -p --all-databases --master-data=2 --routines --events --quick> 10.0.0.104.sql
    
    • --master-data=2表示需要记录导出数据当时主库的binlog位置
    • --routines表示导出存储过程(可视实际库表决定是否使用)
    • --events表示导出事件(可根据实际库表决定是否使用)
    • --quick表示让服务端不将结果集一次发送,而是分批发送,可减轻压力
      另外,加上--master-data后默认是锁库的,可确保数据一致性,即导出数据和binlog位置的一致。
      对于Innodb引擎,可增加--single-transaction取消锁库并利用Innodb事务特性确保数据一致

    将导出的数据库导入到从库

    mysql -uroot < 10.0.0.104.sql
    

    设置同步主库参数

    登录到从库

    CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=277, master_host='10.0.0.104', master_port=3306, master_user='replication', master_password='123456';
    

    上面MASTER_LOG_FILEMASTER_LOG_POS参数可以从导出主库的sql语句头部找到。

    `MASTER_LOG_FILE`,`MASTER_LOG_POS`参数`MASTER_LOG_FILE`,`MASTER_LOG_POS`参数

    检查slave同步的参数信息是否正确

    show slave status;
    
    检查slave同步的参数信息是否正确检查slave同步的参数信息是否正确

    开始同步

    start slave;
    

    检查同步是否正常

    show slave status;
    
    检查同步是否正常检查同步是否正常

    如果上图中Slave_IO_RunningSlave_SQL_Running两个参数状态都为Yes,则说明同步正常

    另可通过监控工具来监控这两个参数状态是否都为YES,来判断从库是否同步正常

    相关文章

      网友评论

          本文标题:MySQL主从服务安装步骤

          本文链接:https://www.haomeiwen.com/subject/dgwixttx.html