mysql数据同步更新,是主从模式,一台作为主服务器另一
台作为从服务器来实现的。在这里我把我做的过程共享一
下,有不对的地方,往各网友指出.
系统:centos linux服务器一台 IP:192.168.0.8 windows2003服
务器一台IP:192.168.0.9
软件:centos linux 服务器安装一台mysql-server5.0 windows2003
安装一个叫Apmserv软件自带一个mysql5.1,phpmyadmin(图形
管理MYSQL数据库)
一,先在主服务建立一个用户,用来同步数据所用,我这里采
用一个图型管理MYSQL数据库软件来建立(phpmyadmin)
在这里注意一点:这个用户管理权限一定要有replicaiion
slave 既是复制权限:
二,我用在从服务器windows2003用刚建的用户admin是否可以
连接到linux(主服器)Apmserv用法我在这里不作详细说明。
在从服务器中运行:mysql -h 192.168.0.8 -u admin -p 然后输
入密码。
(注意:因为在mysql这个命定在windos系统下是没有的,所以要加一个环境变量)
三,配置主服务器配置文件:vim /etc/my.cnf
server-id=1
log-bin
这二行是新加的
重启mysql
mysql -u root -p
show master status;
(这样表明主服务器配置成功)
四,从服务器配置文件也是my.cnf
server-id=2 从服务器ID号
master-host 主服务器地址
master-port 端口号
master-user 复制需要的用户名
master-password 复制需要的用户名所对应密码
replicate-do-db 所需要复制的数据库
然后重启数据库
mysql>show slave status\G;
在主从服务器分别新建一个test1数据库,在主服务器数据插入数 据从服务器可以马上同步的到.
* 主服务器IP地址改变时,从服务器。要实现同步只修改/etc/my.cnf是没有用的。需要用到以下命令:
stop slave; reset slave; change master to MASTER_HOST='master_ip', -> MASTER_USER='replication_user_name', -> MASTER_PASSWORD='replication_password', -> MASTER_LOG_FILE='recorded_log_file_name', -> MASTER_LOG_POS=recorded_log_position;
start slave;
|
替换其中的master_ip,master_user,master_password为master ip地址,具有复制权限的用户,密码
把recorded_log_file_name替换为上面记录的file,recorded_log_position为上面记录的position