月度归档:2014年08月

mysql主主复制(双主复制)

MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。
有了上一节的主从复制,那么主主复制就很容易了。

一、先修改配置文件

服务器A(192.168.1.254)配置如下

服务器B(192.168.1.252)配置

两台服务器都重启

注:二都只有server-id不同和 auto-increment- offset不同
auto-increment-offset是用来设定数据库中自动增长的起点的,回为这两能服务器都设定了一次自动增长值2,所以它们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突
replicate-do-db 指定同步的数据库,我们只在两台服务器间同步test数据库
另:auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两台服务器,所以值设为2

二、同步数据

本文是用test做的实验,导出将test.sql文件从254服务器拷贝到252服务器
备份数据前先锁表,保证数据一致性 继续阅读

CentOS6.3 mysql主从复制(注:mysql是通过yum源安装的)

mysql复制的优点主要包括以下3个方面:
1.如果主服务器出现问题,可以快速切换到从服务器提供的服务
2.可以在从服务器上执行查询操作,降低主服务器的访问压力
3.可以在从服务器上执行备份,以避免备份期间影响主服务器的服务

注意:一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询,实时性要求高的数据仍然需要从主服务器获得

主服务器配置
我的服务器采用yum安装,如果想配置文件
设置默认编码等一些初始参数(my.cnf)(若无my.cnf, 则可cp /usr/share/mysql/my-small.cnf /etc/my.cnf)

前期准备数据:
两台服务器
master:192.168.1.111(主服务器)
slave:192.168.1.112(从服务器)
网络互通(关闭防火墙,关闭selinux)具体方法请看链接

一、主从服务器分别作以下操作

1.1、版本一致
1.2、初始化表,并在后台启动mysql
1.3、修改root的密码(新安装的mysql没有密码)
二、mysql主服务器配置master(192.168.1.111)

1)修改主服务器master:

2)给从服务器设置授权用户(创建复制帐号)

建立一个帐户mysync,并且只能允许从192.168.1.112这个地址上来登陆,密码是123456。
(如果因为mysql版本新旧密码算法不同,可以设置:set password for ‘mysync’@’192.168.1.112’=old_password(‘123456’))

3)在主服务器上设置读取锁定有效,确保没有数据库操作,以便获得一个一致性的快照

4)查看主服务器上当前的二进制日志名和偏移量值

5)目前主数据库服务器已经停止了更新操作,生成主数据库的备份,备份的方式有两种:

(1)cp全部的数据
如果主数据库的服务可以停止,那么直接cp数据文件应该最快的生成快照的方法:
(2)mysqldump备份数据方法
[root@localhost ~]# /usr/bin/mysqldump -uroot -p123456 test -l -F >/tmp/test.sql

6)主数据库备份完毕后,主数据库可以恢复写操作,剩下的操作只需要在从服务器上去执行:

mysql> unlock tables;

7)把主数据库的一致性备份恢复到从数据库上,把以上的压缩包解压到相应的目录即可

三、mysql从服务器配置slave(192.168.1.112)

1)修改从服务器slave:

2)将主库上备份的数据库恢复到从库(导入之前备份数据)

-v查看导入的详细信息
-f是当中间遇到错误时,可以skip过去,继续执行下面的语句

3)重启从库MYSQL

4)登录从库的MySQL命令行,执行:

5)启动从库连接,执行:

6)查看从库状态:

如果有出现以上结果,则配置成功

linux挂载硬盘报错(you must specify the filesystem type)

今天自己的虚拟机磁盘用完成,于是想加一磁盘,当挂载时发现报错you must specify the filesystem type。(注:我的系统环境是lcentos6.3装在virtualbox的虚拟机)

原来是因为该磁盘没有格式分区导致的于是有了以下操作:

1)先查看一下当前的系统情况,新加的盘是sdb

 2)尝试挂载,报错

继续阅读