MySQL主从复制配置

Written by resurgence April 23rd, 2012 8:20 PM No Comments Filed under: 【Linux学习记录】

Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务。

(1)首先确保主从服务器上的Mysql版本相同

(2)在主服务器上,设置一个从数据库的账户,使用REPLICATION SLAVE赋予权限,:


mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'192.168.0.99' IDENTIFIED BY

'123456';

Query OK, 0 rows affected (0.13 sec)


(3)修改主数据库的配置文件my.cnf,开启BINLOG,并设置server-id的值,修改之后必须重启Mysql服务


[mysqld]

log-bin = /home/mysql/log/mysql-bin.log

server-id=1


(4)之后可以得到主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复


mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000003

Position: 243

Binlog_Do_DB:

Binlog_Ignore_DB:

1 row in set (0.00 sec)


(5)好了,现在可以停止主数据的的更新操作,并生成主数据库的备份,我们可以通过mysqldump到处数据到从数据库,当然了,你也可以直接用cp命令将数据文件复制到从数据库去

注意在导出数据之前先对主数据库进行READ LOCK,以保证数据的一致性


mysql> flush tables with read lock;

Query OK, 0 rows affected (0.19 sec)


之后是mysqldump


mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql


最好在主数据库备份完毕,恢复写操作


mysql> unlock tables;

Query OK, 0 rows affected (0.28 sec)


(6)将刚才主数据备份的test.sql复制到从数据库,进行导入

(7)接着修改从数据库的my.cnf,增加server-id参数,指定复制使用的用户,主数据库服务器的ip,端口以及开始执行复制日志的文件和位置


[mysqld]

server-id=2

log_bin = /var/log/mysql/mysql-bin.log

master-host =192.168.1.100

master-user=test

master-pass=123456

master-port =3306

master-connect-retry=60

replicate-do-db =test


(8)在从服务器上,启动slave进程


mysql> start slave;


(9)在从服务器进行show salve status验证


mysql> SHOW SLAVE STATUS\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: localhost

Master_User: root

Master_Port: 3306

Connect_Retry: 3

Master_Log_File: mysql-bin.003

Read_Master_Log_Pos: 79

Relay_Log_File: gbichot-relay-bin.003

Relay_Log_Pos: 548

Relay_Master_Log_File: mysql-bin .003

Slave_IO_Running: Yes

Slave_SQL_Running: Yes


(10)好了,现在可以在我们的主服务器做一些更新的操作,然后在从服务器查看是否已经更新

----------------------------------------

如果错误是连续的,其实可以用

STOP SLAVE;

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 15;

START SLAVE;

这样的语句,跳过所有的出错语句,但一般来说错误都是不连续的,就是中间夹杂着正确的语句,在语句比较少的情况下,可以

STOP SLAVE;

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;

START SLAVE;

一行行跳过

如果出错的语句比较多,最好修改my.cnf,加入

slave-skip-errors =1062,1032

slave-skip-errors =all

不过修改后,需要重启服务,不能动态修改,这是比较不好的地方

 

如果因为其他原因从不能同步,那么可以用下面语句来使从继续同步:
slave stop;
change master to master_log_file=’ mysql-bin.000001’,master_log_pos=8866;
slave start;

 

mysql 主从同步归纳大概有以下三中问题:
 
1、主从网络中断,或主服务器重启,或从服务器重启,从会根据配置文件中的时间(默认1分钟)去自动重连主服务器,直到网络和服务均可正常连接,连接正常后可自动继续同步之前文件,不需要任何人工干预!
 
2、当主从因为人为原因出现不同步的时候,可以用下面命令进行同步:
LOAD DATA FROM MASTER;
LOAD TABLE TBLNAME FROM MASTER;
注意,上面命令会对主数据库进行锁操作,如果数据库极大,建议在停机的时候进行,或者用短锁备份查看 show master status; 后,拷贝数据库的方式进行。
 
3、当 BIN-LOG 里面出现 SQL 级别错误导致主从不能同步的时候,可以用下面方法掠过该错误语句行,继续同步:
slave stop;
set global sql_slave_skip_counter=1;
slave start;













TAGS: Mysql-master-slave

《爱情爱情》非杨幂版本 北京爱情故事插曲

Written by resurgence March 10th, 2012 9:55 PM No Comments Filed under: 【你猜你猜你猜猜猜】

原版MV下载:http://dl.dbank.com/c0oub6ewco

TAGS: Love Love

CentOS安装配置Socks5服务端

Written by resurgence March 8th, 2012 5:00 PM No Comments Filed under: 【Linux学习记录】

#安装需要的库以及编译需要的组件
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pam-devel pam-devel

 

#安装socks5 server 5服务端
wget http://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-5/ss5-3.8.9-5.tar.gz
tar -zxvf ss5-3.8.9-5.tar.gz
cd ss5-3.8.9-5
./configure
make
make install

 

#修改认证方式
echo "auth      0.0.0.0/0       -         u" >> /etc/opt/ss5/ss5.conf
echo "permit u        0.0.0.0/0       -       0.0.0.0/0       -       -       -       -       -" >> /etc/opt/ss5/ss5.conf

 

#添加启动选项
sed -i "s/#SS5_OPTS/SS5_OPTS/g" /etc/sysconfig/ss5

 

#添加账号与密码

echo "账号 密码" >> /etc/opt/ss5/ss5.passwd

 

#为ss5添加可执行权限
chmod 755 /etc/rc.d/init.d/ss5

 

#将服务加入开机启动
chkconfig --add ss5
chkconfig ss5 on

 

#启动服务
service ss5 restart

TAGS: SOCKS5

配置CentOS使用EPEL软件仓库

Written by resurgence March 8th, 2012 4:25 PM No Comments Filed under: 【Linux学习记录】

EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.

使用很简单:
1. 首先我们需要安装一个叫"epel-release"的软件包,这个软件包会自动配置yum的软件仓库。当然你也可以不安装这个包,自己配置软件仓库也是一样的。 #用于RHEL5系列

# wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

# rpm -ivh epel-release-5-4.noarch.rpm

##用于RHEL6系列

# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm

# rpm -ivh epel-release-6-5.noarch.rpm

安装完成之后你就可以直接使用yum来安装额外的软件包了

#yum install yum-priorities -y

# yum clean all

# yum install iftop

TAGS: EPEL

[BT]你猜你猜你猜猜猜-20111224 [RMVB/560.51M]

Written by resurgence January 10th, 2012 7:52 PM No Comments Filed under: 【你猜你猜你猜猜猜】

【节目名称】: 你猜你猜你猜猜猜-20111224
【文件类型】: RMVB
【文件大小】: 560.51M
【字幕語言】: 国语中字
你猜你猜你猜猜猜-20111224.jpg

点击此处下载种子

TAGS: 你猜你猜你猜猜猜20111224 你猜20111224 我猜我猜我猜猜20111224 我猜20111224