CentOS 5.8下MySQL 5.5复制配置详细步骤

2014-11-24 19:00:26 · 作者: · 浏览: 31

MySQL版本:5.5.x


原来状况:数据库在一台机器上,已经有一些生产数据


目标:主主复制。两台数据库服务器设置成主主复制方式,即对任何一台的更改都会自动同步到另外一台。


第一台:ip地址为 xxx.xxx.xxx.156 主机名 s156


第二台:ip地址为 xxx.xxx.xxx.170 主机名 s170


注:本文中的ip地址均采用 xxx. 形式,运用时根据实际情况修改。


操作步骤一:停止应用运行


在修改mysql配置之前,应该停止与数据库有关的进程(程序),比如:


1. tomcat或其他Web应用容器


使用 service tomcat stop 停止


或者进入 tomcat/bin 执行 ./shutdown.sh)


2. crontab 里面设置的某些与数据库有关的定时任务。


比如:那些检测tomcat是否启动的定时任务。


可以先用 crontab -e 打开,把相应项注释掉(在前面加#号)。


3. 其他与数据库有关的进程。


什么情况下需要修改主机名?


如果发现shell命令行提示符是


[root@localhost ~]#


或者用hostname命令得到主机名是localhost


[root@localhost ~]# hostname
localhost


为什么需要确认主机名是否正确?


1. 因为有些时候,安装系统的人比较懒,没有在安装时设置主机名;


2. mysql运行时生成日志文件需要用到主机名,尤其是配置成复制(replication)后;


3. 如果在配置了复制之后再进行修改主机名,会造成mysql执行错误,这是我曾经碰到过的情况。


如果不需要修改主机名,跳到下一个步骤。


注意:需要对两台服务器检查和修改。


修改主机名的步骤:


1. 停止与主机名有关系的程序或服务,比如mysql(它生成的日志文件名中包含主机名)


service mysql stop


2. 使用hostname命令修改主机名(假定新主机名为newname)


hostname newname


比如:hostname s156


3. 在/etc/hosts文件中配置主机名的解析(假定ip地址记为ip,主机名newname,域名为yourdomain.com)


127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6


ip newname.yourdomain.com newname


4. 在/etc/sysconfig/network中修改HOSTNAME=newname


比如:HOSTNAME=s156


5. 最好重启机器,如果不允许的话,重新登录也行


重启使用 reboot 命令


重新登录使用 exit 命令


6. 看一下命令行提示符和hostname是否正确


[root@s156 ~]# hostname
s156


7. 重新启动第一步中停止的程序或服务,比如mysql


service mysql start