查看: 543|回复: 3

mysql主从简明配置

 关闭 [复制链接]

签到天数: 2586 天

连续签到: 5 天

[LV.Master]至尊海神IIIIII

发表于 2009-6-27 13:57 | 显示全部楼层 |阅读模式
mysql主从简明配置
配置环境:
主从配置的环境,MySQL从服务器的版本不能小于主服务器的版本,最好保持版本一致!


一. MySQL主服务器配置



1.建立用户
mysql> GRANT ALL PRIVILEGES ON *.* TO dbadmin@'192.168.1.%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> delete from mysql.user where password=\"\";
mysql> flush privileges;
完成后需要在Slave上做连接测试: mysql -h 192.168.1.10 -u dbadmin –p123456








2.编辑配置文件/etc/my.cnf (确保有如下行)
[mysqld]
server-id = 1
log-bin=mysql-bin
binlog-do-db=GameDB
binlog-ignore-db=mysql
#binlog-do-db=需要备份的数据库名,可写多行
#binlog-ignore-db=不需要备份的数据库名,可写多行







二.MySQL从服务器配置





1.编辑/etc/my.cnf
server-id=2
log-bin=mysql-bin
master-host=192.168.1.10
master-user=dbadmin
master-password=123456
master-port=3306
replicate-do-db=GameDB
# replicate-do-db=test 需要备份的数据库名
# replicate-ignore-db=mysql 忽略的数据库
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)







三.验证是否配置正确



主从均配置完成后需要首先确认主从需要同步的库是否同步!(可以用copy库的方式使其同步)





登录从服务器输入如下命令对配置进行验证:
mysql> show slave status\\G;
Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes







四.其它应用





1、如果你想使用复制数据文件的方式来备份数据库,那么你只要在从服务器上的mysql命令行先键入slave stop;然后复制数据库文件,复制好了,再在mysql命令行键入slave start;启动从服务器,这样就即备份了数据有保证了数据完整性,而且整个过程中主服务器的mysql无需停止。

2、修改配置需要注意需要删除从服务器上的/var/lib/mysql/master.info文件,重新启动后会生成新的配置,否则新的配置无法生效!

3、主服务器上的相关命令
show master status
show slave hosts
show logs
show binlog events
purge logs to ‘log_name’
purge logs before ‘date’
reset master(老版本flush master)
set sql_log_bin=

4、从服务器上的相关命令
slave start
slave stop
SLAVE STOP IO_THREAD //此线程把master段的日志写到本地
SLAVE start IO_THREAD
SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库
SLAVE start SQL_THREAD
reset slave
SET GLOBAL SQL_SLAVE_SKIP_COUNTER
load data from master
show slave status(SUPER,REPLICATION CLIENT)
CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息
PURGE MASTER [before 'date'] 删除master端已同步过的日志

5、产生的mysql-bin.00000x文件需要定期删除



6、同步出错时,如果被同步语句确定在从库上可以被忽略,那么做以下操作:
slave stop;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
slave start;
看show slave status \\G;中的Seconds_Behind_Master: 0为正常

7、如果因为其他原因从不能同步,那么可以用下面语句来使从继续同步:
slave stop;
change master to master_log_file=’ mysql-bin.000001’,master_log_pos=8866;
slave start;
<
PCOS系统下载站:http://zhuangji.wang

签到天数: 35 天

连续签到: 0 天

[LV.5]灵化蟹将I

发表于 2009-6-30 08:59 | 显示全部楼层
学习了,这知识还真有点复杂的
PCOS系统下载站:http://zhuangji.wang
回复 支持 反对

使用道具 举报

签到天数: 2586 天

连续签到: 5 天

[LV.Master]至尊海神IIIIII

 楼主| 发表于 2009-6-27 13:57 | 显示全部楼层

mysql主从简明配置

mysql主从简明配置
配置环境:
主从配置的环境,MySQL从服务器的版本不能小于主服务器的版本,最好保持版本一致!


一. MySQL主服务器配置



1.建立用户
mysql> GRANT ALL PRIVILEGES ON *.* TO dbadmin@&#39;192.168.1.%&#39; IDENTIFIED BY &#39;123456&#39; WITH GRANT OPTION;
mysql> delete from mysql.user where password=\"\";
mysql> flush privileges;
完成后需要在Slave上做连接测试: mysql -h 192.168.1.10 -u dbadmin –p123456








2.编辑配置文件/etc/my.cnf (确保有如下行)
[mysqld]
server-id = 1
log-bin=mysql-bin
binlog-do-db=GameDB
binlog-ignore-db=mysql
#binlog-do-db=需要备份的数据库名,可写多行
#binlog-ignore-db=不需要备份的数据库名,可写多行







二.MySQL从服务器配置





1.编辑/etc/my.cnf
server-id=2
log-bin=mysql-bin
master-host=192.168.1.10
master-user=dbadmin
master-password=123456
master-port=3306
replicate-do-db=GameDB
# replicate-do-db=test 需要备份的数据库名
# replicate-ignore-db=mysql 忽略的数据库
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)







三.验证是否配置正确



主从均配置完成后需要首先确认主从需要同步的库是否同步!(可以用copy库的方式使其同步)





登录从服务器输入如下命令对配置进行验证:
mysql> show slave status\\G;
Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes







四.其它应用





1、如果你想使用复制数据文件的方式来备份数据库,那么你只要在从服务器上的mysql命令行先键入slave stop;然后复制数据库文件,复制好了,再在mysql命令行键入slave start;启动从服务器,这样就即备份了数据有保证了数据完整性,而且整个过程中主服务器的mysql无需停止。

2、修改配置需要注意需要删除从服务器上的/var/lib/mysql/master.info文件,重新启动后会生成新的配置,否则新的配置无法生效!

3、主服务器上的相关命令
show master status
show slave hosts
show logs
show binlog events
purge logs to ‘log_name’
purge logs before ‘date’
reset master(老版本flush master)
set sql_log_bin=

4、从服务器上的相关命令
slave start
slave stop
SLAVE STOP IO_THREAD //此线程把master段的日志写到本地
SLAVE start IO_THREAD
SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库
SLAVE start SQL_THREAD
reset slave
SET GLOBAL SQL_SLAVE_SKIP_COUNTER
load data from master
show slave status(SUPER,REPLICATION CLIENT)
CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息
PURGE MASTER [before &#39;date&#39;] 删除master端已同步过的日志

5、产生的mysql-bin.00000x文件需要定期删除



6、同步出错时,如果被同步语句确定在从库上可以被忽略,那么做以下操作:
slave stop;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
slave start;
看show slave status \\G;中的Seconds_Behind_Master: 0为正常

7、如果因为其他原因从不能同步,那么可以用下面语句来使从继续同步:
slave stop;
change master to master_log_file=’ mysql-bin.000001’,master_log_pos=8866;
slave start;
PCOS系统下载站:http://zhuangji.wang
回复 支持 反对

使用道具 举报

签到天数: 2586 天

连续签到: 5 天

[LV.Master]至尊海神IIIIII

 楼主| 发表于 2009-6-27 13:57 | 显示全部楼层

mysql主从简明配置

mysql主从简明配置
配置环境:
主从配置的环境,MySQL从服务器的版本不能小于主服务器的版本,最好保持版本一致!


一. MySQL主服务器配置



1.建立用户
mysql> GRANT ALL PRIVILEGES ON *.* TO dbadmin@&#39;192.168.1.%&#39; IDENTIFIED BY &#39;123456&#39; WITH GRANT OPTION;
mysql> delete from mysql.user where password=\"\";
mysql> flush privileges;
完成后需要在Slave上做连接测试: mysql -h 192.168.1.10 -u dbadmin –p123456








2.编辑配置文件/etc/my.cnf (确保有如下行)
[mysqld]
server-id = 1
log-bin=mysql-bin
binlog-do-db=GameDB
binlog-ignore-db=mysql
#binlog-do-db=需要备份的数据库名,可写多行
#binlog-ignore-db=不需要备份的数据库名,可写多行







二.MySQL从服务器配置





1.编辑/etc/my.cnf
server-id=2
log-bin=mysql-bin
master-host=192.168.1.10
master-user=dbadmin
master-password=123456
master-port=3306
replicate-do-db=GameDB
# replicate-do-db=test 需要备份的数据库名
# replicate-ignore-db=mysql 忽略的数据库
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)







三.验证是否配置正确



主从均配置完成后需要首先确认主从需要同步的库是否同步!(可以用copy库的方式使其同步)





登录从服务器输入如下命令对配置进行验证:
mysql> show slave status\\G;
Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes







四.其它应用





1、如果你想使用复制数据文件的方式来备份数据库,那么你只要在从服务器上的mysql命令行先键入slave stop;然后复制数据库文件,复制好了,再在mysql命令行键入slave start;启动从服务器,这样就即备份了数据有保证了数据完整性,而且整个过程中主服务器的mysql无需停止。

2、修改配置需要注意需要删除从服务器上的/var/lib/mysql/master.info文件,重新启动后会生成新的配置,否则新的配置无法生效!

3、主服务器上的相关命令
show master status
show slave hosts
show logs
show binlog events
purge logs to ‘log_name’
purge logs before ‘date’
reset master(老版本flush master)
set sql_log_bin=

4、从服务器上的相关命令
slave start
slave stop
SLAVE STOP IO_THREAD //此线程把master段的日志写到本地
SLAVE start IO_THREAD
SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库
SLAVE start SQL_THREAD
reset slave
SET GLOBAL SQL_SLAVE_SKIP_COUNTER
load data from master
show slave status(SUPER,REPLICATION CLIENT)
CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息
PURGE MASTER [before &#39;date&#39;] 删除master端已同步过的日志

5、产生的mysql-bin.00000x文件需要定期删除



6、同步出错时,如果被同步语句确定在从库上可以被忽略,那么做以下操作:
slave stop;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
slave start;
看show slave status \\G;中的Seconds_Behind_Master: 0为正常

7、如果因为其他原因从不能同步,那么可以用下面语句来使从继续同步:
slave stop;
change master to master_log_file=’ mysql-bin.000001’,master_log_pos=8866;
slave start;
PCOS系统下载站:http://zhuangji.wang
回复 支持 反对

使用道具 举报

本版积分规则