广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    mysql 主从服务器的简单配置

    2018-05-08 11:29:08 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    首先在主服务器上添加可登陆的用户权限:
    GRANT REPLICATE SLAVE on *.* to 'username'@'host' identified by 'password'

    然后设置主服务器的my.ini文件。
    server-id=1 #主服务器标识
    log-bin #启用二进制日志
    binlog-do-bin=databasename #要备份的数据库名称,多个可以重复该配置过程
    binlog-ignore-db=databasename #不备份的数据库名称,多个可以重复该配置过程

    从服务器的配置
    server-id=2 #从服务器标识,范围1---2E32-1
    master-host=hostname/hostip #主服务器ip或主机名称
    master-user=username #登陆主服务器的用户名
    master-password=password #登陆主服务器的密码
    master-port = portid #主服务器的运行端口号
    replicate-do-db=databasename #要同步的数据库名称,多个可以重复该配置过程
    replicate-ignore=db=databasename #不同步的数据库名称,多个可以重复该配置
    log-bin #从服务器启动二进制日志记录
    master-connect-retry = seconds #与主服务器断开连接后,重新自动连接的时间
    skip-start-slave #防止随服务器的启动而启动同步程序

    至此,一个简单的主从服务器配置完成。
    在master服务器端可运行的命令:
    show master status;#查看主服务器的运行状态
    show slave hosts;#查看从服务器主机列表
    补充:
    在从服务器上使用show slave status
    Slave_IO_Running,为No,则说明IO_THREAD没有启动,请执行slave start [IO_THREAD]
    Slave_SQL_Running为No则复制出错,查看Last_error字段排除错误后执行slave start [SQL_THREAD]
    查看Slave_IO_State字段
    空 //复制没有启动
    Connecting to master//没有连接上master
    Waiting for master to send event//已经连上
    补充:可以使用LOAD DATA FROM MASTER语句来建立slave。但有约束条件:
    数据表要全部是MyISAM表,必须有SUPER权限,master的复制用户必须具备RELOAD和SUPER权限。
    在master端执行RESET MASTER清除已有的日志变更,
    此时slave端会因为找不到master日志无法启动IO_THREAD,请清空data目录下
    relay-log.info,hosname-relay-bin*等文件重新启动mysql
    中继日志文件默认的文件为hostname-relay-bin.nnn和hostname-relay-bin.index。可用从服务器的--
    relay-log和--relay-log-index选项修改。在从服务器中还有一个relay-log.info中继信息文件,可用
    --relay-log-info-file启动选项修改文件名。
    双机互备则是两个mysql同时配置为master及slave
    主服务器上的相关命令:
    show master status
    show slave hosts
    show logs
    show binlog events
    purge logs to ''log_name''
    purge logs before ''date''
    reset master(老版本flush master)
    set sql_log_bin=
    从服务器上的相关命令:
    slave start
    slave stop
    SLAVE STOP IO_THREAD //此线程把master段的日志写到本地
    SLAVE start IO_THREAD
    SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库
    SLAVE start SQL_THREAD
    reset slave
    SET GLOBAL SQL_SLAVE_SKIP_COUNTER
    load data from master
    show slave status(SUPER,REPLICATION CLIENT)
    CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息
    PURGE MASTER [before ''date''] 删除master端已同步过的日志

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告