首先你得知道什么双机热备,为什么要做mysql主从?
因为当数据访问量大的时候,数据库很容易down掉,那么在两台服务器上实时同步数据库,当一台数据库down掉,另一台马上补上,可以防止服务中断
配置示例:
2台数据库服务器ip分别是,主:192.168.7.101
从:192.168.7.110
主上配置:
my.cnf 里面需要修改的地方
1. server-id=1
2. log-bin=hwangchen
##这里是binlog的文件名,这个binlog就是记录主数据库操作的,从数据库就是根据这个文件来进行实时同步的
3. binlog-do-db=hwangchen ##这个就是选择需要同步的数据库,此例为hwangchen这个数据库,如果需要同步的数据库太多的话,可以用binlog-ignore-db=dbname,之选出不同步的数据库。有多个可以用逗号隔开
然后进入主上的mysql:mysql -uroot -phwangchen
mysql> grant replication slave on . to ‘repl’@’192.168.7.110’ identified by ‘password’ ; ##这一步设置一个用于获取主的binlog的mysql用户repl,这里的ip是从服务器的ip
mysql> flush tables with read lock; ##这一步将表锁定,为了不让数据写入
mysql> show master status ##这上面有2个参数要记住,一个是bin_log_file,一个是position
从上配置
1./etc/my.cnf 里面把server_id 改为2或其他数字,反正不能和主的id一样
2.进入mysql
mysql> slave stop;
不停掉slave后面设置不了
mysql> change master to master_host='192.168.7.101' ,master_user='repl',master_password='hwangchen',bin_log_file='hwangchen.000001',bin_log_pos=338
后面两个参数就是刚刚说要记住那两个
3.mysql> slave start;
最后再去主上解锁
mysql -uroot -phwangchen
mysql> unlock tables;