Heim > Datenbank > MySQL-Tutorial > CentOS 5.5下MySQL主从备份

CentOS 5.5下MySQL主从备份

WBOY
Freigeben: 2016-06-07 17:08:09
Original
1058 Leute haben es durchsucht

一、系统环境: CentOS 5.5 主机(MASTER):192.168.0.10 从机(SLAVE): 192.168.0.20 在slave上yum安装Mysql #yum install

一、系统环境:

CentOS 5.5

主机(MASTER):192.168.0.10

从机(SLAVE): 192.168.0.20

在slave上yum安装Mysql

#yum install -y mysql mysql-server

不要开启mysql服务,将master上的/etc/my.cnf文件内容复制slave上的/etc目录下

#rm -rf /var/lib/mysql -R ''删除从主机上空的mysql数据目录

二、拷贝master上的mysql数据到slave

master上

#vim /etc/my.cnf ''查找mysql数据文件主目录,/var/lib/mysql

#cd /var/lib

#du -h * ''查看mysql数据文件大小

#scp /var/lib/mysql root@192.168.0.2:/var/lib/mysql-r  ''将master上mysql数据拷贝到slave上

{

如果数据文件很大,为防止在终端copy过程中出错,可以在远程主机中开启本地终端进行操作

#screen

#scp /var/lib/mysql root@192.168.0.2:/var/lib/mysql -r

}

注意拷贝过来的mysql目录的所属权限 #chown mysql.mysql /var/lib/mysql -R

三、修改配置文件my.cnf

master上

1.配置/etc/my.cnf

#vi /etc/my.cnf

修改[mysqld]

bind-address=192.168.0.10         ''本机内网IP地址

server-id=10                      ''ID是唯一的,运维中通常使用内部IP地址的最后一位数字

log-bin=/var/lib/mysql/log/mysql-bin  ''制定log目录

binlog-do-db=mysql_db            ''需要备份的数据库名,如果备份多个数据库则重复设置这个选项

binlog-ignore-db=xxx              ''不需要备份的数据库名。

log-slave-updates ''这个参数一定要加上,否则不会给更新的记录些到二进制文件里

slave-skip-errors                  ‘’跳过错误,,继续执行复制操作

2.建立用户

使用mysql管理员用户进入mysql数据库

Mysql>grant replication slave on *.* to slave@192.168.0.20 identified by ‘123456’;

可在slave上连接测试#mysql –uslave –p123456 –h 192.168.0.10

Mysql>FLUCH TABLES WITH READ LOCK;  ‘’锁定主库表

Mysql>SHOW MASTER STATUS;

记录主库信息

slave上

修改配置文件my.cnf

#vi /etc/my.cnf

修改或添加[mysqld]

bind-address=192.168.0.20

server-id=20

log-bin=/var/lib/mysql/log/mysql-bin 

master-host=192.168.0.10
master-user=slave
master-password=123456
master-port=3306
replicate-do-db=mysql_db   ‘’需要备份的数据库名
replicate-ignore-db=xxx       ‘’忽略的数据库
master-connect-retry=60      ‘’如果从服务器发现主服务器断掉,重新连接的时间差(秒)
log-slave-updates             ‘’这个参数一定要加上,否则不会给更新的记录些到二进制文件里
slave-skip-errors              ‘’是跳过错误,继续执行复制操作

 

#/etc/init.d/mysqld start   启动数据库

Mysql –h192.168.0.10 –usalve –p123456

Mysql>show grants for slave@192.168.0.20;

在slave上设置同步

mysql> slave stop;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.10',MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001';

mysql>slave start;          ‘’启动slave服务

mysql>show slave status\G;   ‘’查看slave状态

其中 Slave_IO_Running 和 Slave_SQL_Running 两列的值都为 "Yes",表明 Slave 的 I/O 和 SQL 线程都在正常运行。
mysql>UNLOCK TABLES;

到此搭建完毕

linux

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage