设为首页 收藏本站
查看: 577|回复: 0

[经验分享] mysql 主从备份

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-17 09:08:49 | 显示全部楼层 |阅读模式
  • 准备
    用两台服务器做测试:
    Master Server: 192.0.0.1/Linux/MYSQL 4.1.12
    Slave Server: 192.0.0.2/Linux/MYSQL 4.1.18
       
        做主从服务器的原则是,MYSQL版本要相同,如果不能满足,最起码从服务器的MYSQL的版本必须高于主服务器的MYSQL版本

    二、配置master服务器
    1. 登录Master服务器,编辑my.cnf
    #vim /etc/my.cnf
    在[mysqld]段添加以下内容:

    [mysqld]
    log-bin=mysql-bin
    server-id=1
    binlog-do-db=extmail
    binlog-ignore-db=mysql,test

    解释:log-bin项是让Master服务器记录二进制日志这个是必须的;
    server-id=master_id 其中master_id必须为1到232–1之间的一个正整数值;
    binlog-do-db=database 是要记录日志的数据库;
    binlog-ignore-db 是不要记录日志的数据库名,多个数据库中间用逗号(,)隔开;

    2.从master服务器添加要从slave服务器访问master服务器的有权限的帐号,看下面命令就知道了:

    mysql> grant replication slave on *.*
    -> to 'abc'@'192.0.0.2' identified by '123';

    格式:mysql> GRANT REPLICATION SLAVE ON*.*
       -> TO '帐号'@'从服务器IP或主机名' IDENTIFIED BY '密码';

    3. 重起Mysql

    4. 备份master数据库数据

    # mysqldump --master-data extmail >extmail_backup_20071120.sql

    要加--master-data 选项,这里备份master服务器的数据,后面要导入slave服务器。

    5. 察看Master状态

    mysql> show master status;
    +------------------+----------+--------------+------------------+
    |File             |Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000002|       79 |extmail      |mysql,test       |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)

    三、配置slave服务器
    1. 编辑my.cnf
    # vim /etc/my.cnf

    在[mysqld]段添加以下内容:

    server-id=2
    master-host=192.0.0.1
    master-port=3306
    master-user=abc
    master-password=123
    master-connect-retry=60

    解释:
    slave服务器的server-id不能与master相同,多台slave之间server-id也不能相同。
    master-host 是 master服务器的主机名或者IP地址
    master-user和master-password是前面我们在master上建用户名和密码
    master-connect-retry 是如果从服务器发现主服务器断掉,重新连接的时间差

    2. 把从主数据库服务器备份出来的数据库导入到从服务器中,也就是我们前面的extmail_backup_20071120.sql

    # mysqladmin create extmail
    # mysql extmail < extmail_backup_20071120.sql

    3. 重起mysql服务器
    4. 停止slave服务,设置主服务器的各种参数

    mysql> slave stop;
    mysql> change master to
    -> MASTER_HOST='192.0.0.1',
    -> MASTER_USER='abc',
    -> MASTER_PASSWORD='123',
    -> MASTER_LOG_FILE='mysql-bin.000002',
    -> MASTER_LOG_POS=79;
    mysql> slave start;
  • wKioL1UvTdjCueWRAAQDlGwHo0U155.jpg


  • 5. 查看主从服务器的状态
    show slave status;
    SHOW PROCESSLIST;
    显示以下内容时,主从服务器配置成功
    Slave_IO_State: Waiting for master to send event
    Slave_IO_Running:必须为 Yes
    Slave_SQL_Running:必须为 Yes


    6.手动同步数据,会自动建立数据库,需要设置用户ylmf相应权限
    LOAD DATA FROM MASTER;



    遇到ERROR 2013 (HY000): Lost connection toMySQL server during query错误。
    在/ect/my.cnf的[mysqld]中添加skip-name-resolve

http://lionlx.iteye.com/blog/855947

试验连接
主服务器192.168.9.10
从服务器192.168.9.11
问题处理
   开始连接不过来,使用LOAD DATA FROM MASTER; 报错,无法更新成功。
后查找原因为访问数据权限受限。
处理方法:
1 使用用户远程登录主服务器数据库是否可以登录,并查看数据库显示是否正常
  Mysql –u myuser  -p  –h 192.168.9.10
2.如果不能登录,查看主服务器数据库用户权限是否正常
  Show grantsfor myuser@192.168.9.11
权限配置方法如下:
GRANT ALLPRIVILEGES ON *.* TO 'myuser1'@'%' IDENTIFIED BY '1234567' WITH  GRANT OPTION;
3查看所有用户以及配置内容:
User mysql;
Select  *  from  user;



如:
wKioL1UvTj_R3SpCAAM6uCURL7U475.jpg
Use mysql;
Select  *  from  user;   或者 Select  *  from  user\G      (出现乱码用\G)
wKiom1UvTRuSnsxkAA-8SDl_0ho846.jpg

删除用户:

delete from user where user='sss' and host='localhost' ;

或者:
delete from user where user='sss';
删除权限:
revoke all on *.* fromsss@localhost ;

删除后一定记得
Flush  privileges
有时候不能生效


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-57954-1-1.html 上篇帖子: mysql主从复制 下篇帖子: Mysql管理 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表