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

[经验分享] mysql数据库主从同步

[复制链接]

尚未签到

发表于 2016-9-13 07:00:57 | 显示全部楼层 |阅读模式
花了2天,google了无数才配出来,见笑。

环境
主机:freeBSD8.2 + myslq5.1 ip:192.168.1.240(vm)
从机:freeBSD8.2 + mysql5.1 ip:192.168.1.121(vm)



主机设置:
创建从机访问帐号
flush privileges;(防止出现ERROR 1290(HY000)错误)
GRANT REPLICATION SLAVE ON *.* TO '帐号'@'主机' IDENTIFIED BY '密码';

修改my.cnf
server-id=1 #主机id
log-bin=mysql-bin #同步文件类型
binlog-do-db=backtest #同步数据库(可多行)
binlog-ignore-db=mysql #不同步数据库(可多行)

备份需要同步的数据库(备份之后不可再写入数据)

查看主机信息
show master status;

从机设置:
导入主机备份的数据库

停止从机mysql

修改my.cnf
server-id = 2 #从机id(不可重复)
master-host=192.168.1.240 #主机ip
master-user=backuser #备份用户
master-password=root #密码
master-port=3306  #端口
replicate-do-db=backtest  #备份数据库
replicate-ignore-db=mysql #不备份数据库
master-connect-retry=60  #主机断线后重新连接的时间
#character-set-server=utf-8 #中文字符集

打开从机mysql
停止slave服务
slave stop
根据主机信息设置从机信息
CHANGE MASTER TO
MASTER_HOST='192.168.1.240',
MASTER_USER='backuser',
MASTER_PASSWORD='root',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=264;
打开slave服务
slave start

DSC0000.gif

查看从机信息
show slave status\G
显示信息如下
       Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.240
                  Master_User: backuser
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 264
               Relay_Log_File: freeBSD-relay-bin.000002
                Relay_Log_Pos: 251
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: backtest
          Replicate_Ignore_DB: mysql
…………………………

DSC0001.gif

如果有
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
说明配置成功

ps:配置时遇到的问题
修改my.inf时报Warning: World-writable config file '/etc/my.cnf' is ignored
原因:my.inf权限太高
处理:权限不可设成777,只能设成755

用mysql远程工具链接数据库报错
原因:没有开放远程链接功能
处理:在mysql里面输入如下命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY' password' WITH GRANT OPTION;

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
原因:用户表中root密码为空
处理:先停止mysql,转入安全模式,修改root密码
#/usr/local/etc/rc.d/mysql-server stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and

host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
mysql> FLUSH PRIVILEGES;
mysql> quit
# /usr/local/etc/rc.d/mysql-server restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

创建同步帐号时出现ERROR 1290(HY000)错误
原因:不明
处理:先flush privileges; 再用grant all 命令。
flush privileges;
GRANT REPLICATION SLAVE ON *.* TO 'backuser'@'192.168.1.121' IDENTIFIED BY 'root';

运维网声明 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.iyunv.com/thread-271364-1-1.html 上篇帖子: mysql: logs-slave-updates备忘 下篇帖子: MySql常用字典表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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