linux服务器主从配置,Linux中mysql的主从服务器配置

在[mysqld]下添加

-------------主服务器---------------

《步骤1》

vi /etc/my.cnf  (源码编译安装的mysql配置文件所在)/data0/mysql/3306/my.cnf

[mysqld]

server-id = 1

log-bin = mysql-bin

binlog-do-db = huoli  #要同步的数据库

binlog-do-db = db2  #第二个要同步的数据库

binlog-ignore-db = test

binlog-ignore-db = mysql

binlog-ignore-db = information_schema

service mysql restart  (源码编译安装的mysql启动命令) /data0/mysql/3306/mysql

start

《步骤2》

登陆mysql命令行,执行

GRANT REPLICATION SLAVE ON *.*  TO

'帐号'@'从服务器IP' IDENTIFIED BY '密码';

REPLICATION SLAVE

GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.171'

IDENTIFIED BY '878899';

GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.172'

IDENTIFIED BY '878899';

测试账号是否可以连接使用

《步骤3》

-------------主服务器-------------------

锁定主机数据库表

msyql>FLUSH TABLES WITH READ

LOCK;

Query OK, 0 rows affected (0.13 sec)

查看主机 Master 状态

mysql>SHOW MASTER STATUS;

————》这一步看到的信息是《步骤6》中的信息,注意改正确!

备份主机数据库

cd /usr/local/mysql/var/  源码编译安装的mysql的数据库位置 /data0/mysql/3306/data/

tar zcvf db_backup.tar.gz ibdata* ib_logfile* huoli/

mv db_backup.tar.gz /tmp

《步骤4》

-------------从服务器-------------

vi /etc/my.cnf  源码编译安装的mysql的配置文件 vi /data0/mysql/3306/my.cnf  server-id (从机的ID号不能重复,要唯一)

[mysqld]

server-id = 2

log-bin=mysql-bin

replicate-do-db = huoli  #接收要同步的主服务器的数据库

replicate-do-db = db2  #接收要同步的主服务器上的第二个数据库

replicate-ignore-db = test

replicate-ignore-db = mysql

replicate-ignore-db = information_schema

service mysql start  重启mysql

/data0/mysql/3306/mysql

restart

《步骤5》

---------从服务器----------

为了保持数据一致:

$ service mysql stop  源码编译安装的mysql停止命令  /data0/mysql/3306/mysql

stop

$ cd /usr/local/mysql/var  源码编译安装mysql的数据库路劲

/data0/mysql/3306/data/

删除从机上的日志和数据

$ rm -rf ibdata* ib_logfile* mysql-bin.* master.info

relay-log.info  huoli/

[有类似数据库则删除]

复制主mysql的数据文件到当前目录,解压缩

$ scp 192.168.1.172:/tmp/db_backup.tar.gz ./

$ tar zxvf db_backup.tar.gz

修改权限

$ chown -R mysql.mysql ibdata* ib_logfile* huoli/

《步骤6》

-----------在从服务器进行-------------

先启动mysql

service mysqld start  (源码编译安装的mysql启动命令)/data0/mysql/3306/mysql

start

停止原来的备份

mysql>slave stop;

Query OK, 0 rows affected, 1 warning (0.00 sec)

设置备份点(根据主服务器的日志文件和记录点来设置)

mysql>CHANGE MASTER TO

MASTER_HOST='192.168.1.170',MASTER_PORT=3306,MASTER_USER='backup',MASTER_PASSWORD='878899',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;

Query OK, 0 rows affected (0.02 sec)

启动备份

mysql>slave start;

Query OK, 0 rows affected (0.02 sec)

解锁主机数据库表

msyql>UNLOCK TABLES;

Query OK, 0 rows affected (0.00 sec)

mysql>show slave status\G

执行后信息显示如下:(显示的一样则成功)

(否则这样测试:使用客户端的连接上主从服务器的mysql,在主服务器的mysql要同步的数据库中新添一个表,再刷新从服务器端相应的数据库中看看是否有这个表!)

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

***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 172.19.203.200  ————》这是主服务器IP

Master_User: backup

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 524

Relay_Log_File: localhost-relay-bin.000002

Relay_Log_Pos: 235

Relay_Master_Log_File: mysql-bin.000010

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: db1,db2

Replicate_Ignore_DB: test,mysql,information_schema

Exec_Master_Log_Pos: 524

Master_SSL_Key:

Seconds_Behind_Master: 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值