freebsd mysql 配置文件_mysql主从配置(freebsd+mysql5.5.13)

mysql主从,可以使提高数据库的安全性,也便于实现负载均衡,更有利于后期拓展维护,这个配置绕不过去,今天做了一次尝试,遇到一些曲折,最终还是顺利的完成了,这里做一些记录和整理,存档,也希望能给更多朋友带来一些帮助(其实这个活儿其实一点也不难)

环境:freebsd8.2+mysql5.5.13/freebsd9.0+mysql5.5.24

基础:两台机子192.168.1.130 | 192.168.1.131;虚拟机上克隆的,初始环境除了ip不一样,其他完全一致,数据库已有数据库和数据。

1、配置文件:

主:

server-id = 1(主数据库一般都是id为1) log-bin=mysql-bin (必须的) binlog_format=mixed (必须的,推荐类型为mixd) expire_logs_days=5 (为避免日志文件过大,设置过期时间为5天) binlog-ignore-db = mysql (忽略同步的文件,也不记入二进制日志,可列多行) binlog-ignore-db = information_schema replicate-do-db = test (需要同步的文件,记入二进制日志,可列多行)

从:

server-id = 2 log-bin=mysql-bin binlog_format=mixed expire_logs_days=5

注1:MySQL进行主从复制是通过二进制的日志文件来进行,所以我们必须开启MySQL的日志功能,即我们上面的log-bin,同时每一台数据库服务器都需要指定一个唯一的server-id,通常主数据库服务器我们指定为1。

注2:Mysql5.5版本以上不再支持master的用法,比如5.1中可用的(master-user = repl;master-password = repl;master-port = 3307)这样的语法已经失效了,如果你使用了,还会报错。(我在这里载了跟头,检查mysql日志/usr/local/db/mysql/ 127.0.0.1.err——您的路径也许会稍有不同——才发现错误)如果你不小心配置了这些参数,MySQL服务器将无法正常启动 错误提示为:

[ERROR] /usr/local/mysql/bin/mysqld: unknown variable ‘master-host=192.168.1.130’,正确的办法如上文所写。

配置完成之后,将主从两机的mysql服务重新启动一下。

2、Mysql主(1.130),执行:GRANT replication slave on *.* to 'slave' @ '192.168.1.131' IDENTIFIED BY 'slave777'(授予slave账号对所有数据库享有slave权限,密码为slave777);

3、查看Mysql主 的状态:执行:show master status;这时会看到master数据库所处的位置,记录下来:

show master status;

| File             | Position |

| mysql-bin.000011 | 189      |

4、Mysql从:

执行:slave stop;

执行:change master to master_host='192.168.1.130', master_port=3306, master_user=’slave’, master_password=’slave777’, master_log_file=’mysql-bin.000011′, master_log_pos=189;

执行:slave start;

5、查询slave的状态:mysql> show slave status \G;看下slave的状态:

Master_Log_File: mysql-bin.000011 (和主mysql一致) Read_Master_Log_Pos: 189 (和主mysql一致) Slave_IO_Running: Yes (读写) Slave_SQL_Running: Yes (数据库状态)

还要注意状态中是否有error,如果没有的话,就差不多了。

6、测试数据库是否能够同步:略;

7、如果Slave复制失败,你可以根据错误信息进行修正,然后执行

mysql> slave stop; mysql> slave start; 就可以把原来应该复制过来的数据都复制过来

8、几个常用的命令:

Slave start; --启动复制线程 Slave stop; --停止复制线程 Reset slave; --重置复制线程 Show slave status; --显示复制线程的状态 Show slave status\G; --显示复制线程的状态(分行显示) Show master status\G; --显示主数据库的状态(分行显示) Show master logs --显示主数据库日志,需在主数据库上运行 Change master to; --动态改变到主数据库的配置 Show processlist --显示有哪些线程在运行

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值