首先配置好从服务器的my.cnf,启动mysql。
1.在主服务器上,备份数据库
mysqldump -uroot -p111111 –master-data -B game ucenter uchome ihompy > ihompy.sql
备份数据库,注意必需带–master-data参数。
2.在从服务器上的mysql内:
stop slave
停止从服务器的数据更新。
首先配置好从服务器的my.cnf,启动mysql。
1.在主服务器上,备份数据库
mysqldump -uroot -p111111 –master-data -B game ucenter uchome ihompy > ihompy.sql
备份数据库,注意必需带–master-data参数。
2.在从服务器上的mysql内:
stop slave
停止从服务器的数据更新。
(1)、back_log:
要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。
back_log 值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值 对到来的TCP/IP连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。 试图设定back_log高于你的操作系统的限制将是无效的。
当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL
的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。
(2)、interactive_timeout:
服务器在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对 mysql_real_connect()使用 CLIENT_INTERACTIVE 选项的客户。 默认数值是28800,我把它改为7200。
这里列出了一些如何监视你安装的mysql性能的一些ideas。监视总是一个持续的过程。你需要知道哪种模式对你的数据库是好的,什么是问题的表象,甚至是危险的情况。
下列出了用来去监视你的系统的主要参数:
A(M)[192.168.33.11192.168.43.11] ->B (Backup)[192.168.33.13192.168.43.13] ->C (M/S)[192.168.33.15192.168.43.15] -> s1、s2….
公用IP:192.168.33.100
本例可实现以下功能:
一、实现mysql replication
A(M)–>C(M/S)–>s1、s2、s3….
性能:降低A服务器的负载
扩展性:可扩展到20台slave服务器。
二、实现实时备份、安全可靠功能
利用drbd(号称网络RAID)将A服务器与C服务器的数据进行实时备份
如果仅A服务器down掉了,通过heartbeatB服务器则会自动切换,变成A服务器的角色.
如果仅C服务器down掉了,则需要在B服务器上,进行手动切换,变成C服务器的角色.
如果A和C服务器都down掉了,则需要改进本例,方可解决问题.(如:再增加一台backup机器)
mysql数据库有一台单独的服务器在做,WEB服务器有4台机器做集群。4台机器的web分别去连接mysql的数据库。
这个架构进行一段时间后,连续出现了几次怪问题,WEB连接mysql回常慢。光连接时间就达到十几秒。重启mysql,会好一点,但过不了多久,问题又会出现。
在故障排除的时候我发现一个问题,如果在mysql服务器上连接mysql并不慢。这样我又开始 怀疑是服务器间的网络问题了,但是服务器间copy文件速度非常快。说明网络是好的。
后来怀疑了很多问题,都被一一排除了。
我的mysql服务器上有两块网卡,发现:
mysql -h 127.0.0.1
很快,比较正常
mysql -h 192.168.x.x
和mysql -h 218.x.x.x
就比较慢了。