最近学习了一下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;