日期:2014-05-16  浏览次数:20815 次

mysql 读写分离的配置

最近学习了一下mysql的读写分离配置,当作经验写出来,免得忘记了。

?

?? 硬件环境:主库在xp系统的机器上,ip是192.168.132.39 ,从库在server 2003机器上,ip是192.168.132.35

?? mysql版本: 5.0.10a-beta

?

? 1. 主数据库配置,在my.ini文件中添加以下语句:

?

# 主服务器id
server-id=1
# 日志名称
log-bin=mysql-bin
# 需要备份的库
binlog-do-db=taodj

# 忽略的库
# binlog-ignore-db=mytest

?

? 2.在主库中创建供从库访问的备份帐号

?

GRANT replication slave ON *.* TO 'slaveuser'@'192.168.132.35' identified by '123456';

?? 书上说replication slave权限就是可以备份数据库的意思。

?

?? 3.配置从库my.ini

?

# 注意:主库id=1,从库server-id=2
server-id=2
log-bin=mysql-bin
# 主库ip
master-host=192.168.132.39
# 主库授权的登录帐号
master-user=slaveuser
master-password=123456
master-port=3306
binlog-do-db=taodj
?

?? 3.开启主库,执行命令看看file属性的值,因该是mysql-bin.XXX

?

show master status;
?

?? 4.打开从库,开启这个命令

?

slave start;
?

?? 5.也可以手动执行下这个语句

?

change master to master_host='192.168.132.39',master_port=3306,master_user='slaveuser', 

master_password='123456';
?

?? ok,差不多了,测试吧。

?

? 6. 如果有问题,在主库上执行以下语句试试:

?

# 放开所有权限

update user set select_priv='Y' , Insert_priv='Y', Update_priv='Y', delete_priv='Y', Create_priv='Y', Drop_priv='Y',Reload_priv='Y', shutdown_priv='Y', Process_priv='Y', File_priv='Y', Grant_priv='Y', references_priv='Y',Index_priv='Y', Alter_priv='Y', Show_db_priv='Y', Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y', Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y' where user='[username]'; 
?

?

# 在从库服务器上执行,看看能否连通主库

telnet 192.168.132.39 3306;

# 或者

mysql -h 192.168.132.39 -u slaveuser -p;

?

?