MySQL数据库双机热备服务器配置
详解Mysql双机热备和负载均衡的实现步骤
![详解Mysql双机热备和负载均衡的实现步骤](https://img.taocdn.com/s3/m/d966e3d72dc58bd63186bceb19e8b8f67c1cef73.png)
详解Mysql双机热备和负载均衡的实现步骤MySQL数据库没有增量备份的机制,但它提供了⼀种主从备份的机制,就是把主数据库的所有的数据同时写到备份数据库中。
实现MySQL数据库的热备份。
下⾯是具体的主从热备份的步骤:假设主服务器A(master)、从服务器为B(slave)A:192.168.0.104B:192.168.0.1691.主服务器授权授权副服务器可以连接主服务器并可以进⾏更新。
这是在主服务器上进⾏的,创建⼀个username和password供副服务器访问时使⽤。
也可以使⽤主服务器默认的帐号和密码。
2.数据复制将master上已有的数据复制到slave上,以便主从数据库建⽴的时候两个数据库的数据保持⼀致。
导出导⼊数据库就不详述了。
3.配置主服务器修改master上mysql的根⽬录下的my.ini配置⽂件在选项配置⽂件中赋予主服务器⼀个server-id,该id必须是1到2^23-1范围内的唯⼀值。
主服务器和副服务器的server-id不能相同。
另外,还需要配置主服务器,使之启⽤⼆进制⽇志,即在选项配置⽂件中添加log-bin启动选项。
注意:如果主服务器的⼆进制⽇志已经启⽤,关闭并重新启动之前应该对以前的⼆进制⽇志进⾏备份。
重新启动后,应使⽤RESET MASTER语句清空以前的⽇志。
原因:master上对数据库cartrader的⼀切操作都记录在⽇志⽂件中,然后会把⽇志发给slave,slave接收到master传来的⽇志⽂件之后就会执⾏相应的操作,使slave中的数据库做和master数据库相同的操作。
所以为了保持数据的⼀致性,必须保证⽇志⽂件没有脏数据。
4.重启master配置好以上选项后,重启MySQL服务,新选项将⽣效。
现在,所有对数据库中信息的更新操作将被写进⽇志中。
5.配置slave在副服务器上的MySQL选项配置⽂件中添加以下参数:[mysqld]#唯⼀,并与主服务器上的server-id不同。
Mysql 数据库双机热备的配置
![Mysql 数据库双机热备的配置](https://img.taocdn.com/s3/m/ed95e7e3b8f67c1cfad6b88f.png)
Mysql 数据库双机热备的配置1。
mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。
还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。
实现mysql数据库的热备份。
2。
要想实现双机的热备首先要了解主从数据库服务器的版本的需求。
要实现热备mysql 的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。
3。
设置主数据库服务器:a.首先查看主服务器的版本是否是支持热备的版本。
然后查看f(类unix)或者my.ini(windows)中mysqld配置块的配置有没有log-bin(记录数据库更改日志),因为mysql 的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。
然后设置要写入日志的数据库或者不要写入日志的数据库。
这样只有您感兴趣的数据库的更改才写入到数据库的日志中。
server-id=1 //数据库的id这个应该默认是1就不用改动log-bin=log_name //日志文件的名称,这里可以制定日志到别的目录如果没有设置则默认主机名的一个日志名称binlog-do-db=db_name //记录日志的数据库binlog-ignore-db=db_name //不记录日志的数据库以上的如果有多个数据库用","分割开然后设置同步数据库的用户帐号mysql> GRANT REPLICATION SLAVE ON *.*-> TO 'repl'@'%' IDENTIFIED BY 'slavepass';4.0.2以前的版本, 因为不支持REPLICATION 要使用下面的语句来实现这个功能mysql> GRANT FILE ON *.*-> TO 'repl'@'%' IDENTIFIED BY 'slavepass';设置好主服务器的配置文件后重新启动数据库b.锁定现有的数据库并备份现在的数据锁定数据库mysql> FLUSH TABLES WITH READ LOCK;备份数据库有两种办法一种是直接进入到mysql的data目录然后打包你需要备份数据库的文件夹,第二种是使用mysqldump的方式来备份数据库但是要加上"--master-data " 这个参数,建议使用第一种方法来备份数据库c.查看主服务器的状态mysql> show master status\G;+---------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+---------------+----------+--------------+------------------+| mysql-bin.003 | 73 | test | manual,mysql |+---------------+----------+--------------+------------------+记录File 和Position 项目的值,以后要用的。
心跳程序的mysql高可用的双机热备
![心跳程序的mysql高可用的双机热备](https://img.taocdn.com/s3/m/298d30eafab069dc502201f6.png)
MySQL数据库服务器双机热备的实现方法两则2011-08-31 12:56:43分类:Mysql/postgreSQL在实际的应用中,数据库是非常重要和关键的一个环节。
在保障数据库安全的同时,提高应用性和缩短出故障后的恢复时间,也同等重要。
特别是在一些持续性和实时性要求高的应用中,故障一小时,可能会让你损失几千到几万甚至更高。
本方案致力于数据库实时备份,并且在故障发生后以最短的时间恢复和修复。
在mysql数据库的备份应用中,主从复制结构是应用的比较广泛,数据同步和实时性都很高,基本上能满足大部分的需求。
本方案基于主从复制结构的基础上,当主库出现故障时,从库能自动接管主库的功能,向外提供服务,且将自身设置为主库,将这个故障时间和影响缩短至最小,5秒内可切换完成。
待原主库修复后,会自动进入从库的备份角色,如此循环。
在本方案的实现中,有两种方法且均基于mysql的主从结构中:1、高可用(High Availability)HA集群,用heartbeat实现及增加了故障后的恢复功能。
2 、同样是高可用,只是是自己编写脚本程序来监控,切换,恢复。
在方法1中,使用稳定的heartbeat开源软件实现,但此方法,需要多一个IP对外访问,同时在监控上,是监控机器的状态而不是mysql,有些情况下,机器是好的但mysql服务挂了,这种情况下就不准确了。
不过可以修改监控方式或增加对mysql服务的监控。
方法2中,可以不用增加一个对外IP,同时在监控上,可以直接监控mysql 的服务,至于稳定性,有待测试。
此方法中还有一个问题,就是提供给客户端的数据库连接IP,因为切换后,IP也就变了。
如果说更改程序,那不现实。
所以,这里可以用域名,不过仍然需要修改域名的IP指向或是修改客户机的 hosts 文件。
本文使用的是修改DNS的方法,因为DNS是自己配置的,可以灵活操作。
本文分两部分进行说明第一部分用 heartbeat 实现的高可用1环境条件两个虚拟机(IP:192.168.1.91/92/93),CentOS5.4,mysql-5.1.37,heartbeat-2.1.3-32 安装前的准备Heartbeat 的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未受到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。
MYSQL双机热备配置手册
![MYSQL双机热备配置手册](https://img.taocdn.com/s3/m/4765ab8b84868762caaed525.png)
MYSQL双机热备配置手册使用的软体:①mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz,/get/Downloads/MySQL-4.1/mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz/from/pick一、安装MYSQL# cp mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz /usr/local/# tar zxvf mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz# mv mysql-standard-4.1.9-pc-linux-gnu-i686 mysql# cd mysql# more INSTALL-BINARY查看安装文档,注意以红色框内为主。
# groupadd mysql (建立mysql组)# useradd -g mysql mysql (建立mysql用户并将其用户加入该组)# scripts/mysql_install_db --user=mysql (以mysql用户身份执行数据库初始化安装脚本)# chown -R root . (归属root权限为当前目录)# chown -R mysql data (归属mysql权限为data目录)# chgrp -R mysql . (改变mysql档案/目录的使用者与群组拥有人为当前目录)# bin/mysqld_safe --user=mysql & (以mysql用户身份后台启动mysql数据库进程)之后我们就可以启动mysql数据库,如图:显示为上述图,表示安装正确。
为了使数据库更加安全,我们来设置数据库密码。
/usr/local/mysql/bin/mysqladmin -uroot password 123456如在下次启动服务器时能自动启动mysql数据库进程,我们还需写入/etc/rc.d/rc.local文件里echo “/usr/local/mysql/bin/mysqld_safe --user=mysql &” >;>; /etc/rc.d/rc.local二、配置MYSQL双机热备传统模式都是采用mysql双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档。
基于keepalived实现MySQL双主热备高可用
![基于keepalived实现MySQL双主热备高可用](https://img.taocdn.com/s3/m/5ab816c9b1717fd5360cba1aa8114431b90d8eff.png)
基于keepalived实现MySQL双主热备高可用1、keepalived简介Keepalived通过VRRP(虚拟路由冗余协议)协议实现虚拟IP的漂移。
当master故障后,VIP会自动漂移到backup,这时通知下端主机刷新ARP表,如果业务是通过VIP连接到服务器的,则此时依然能够连接到正常运行的主机,RedHat给出的VRRP工作原理如下图:接下来对keepalived的VIP漂移做一个解释,假设现在有一套这样的环境。
●主机A的IP地址为:192.168.113.31●主机B的IP地址为:192.168.113.32●再单独定义一个keepalived使用的VIP:192.168.113.200。
当2台主机安装了keepalive并正常运行时,keepalive会选择一个节点做为主节点(这里假设为主机A,IP为192.168.113.31),由于A是主节点,所以主机A上还会生成一个IP 地址192.168.113.200,即虚拟IP(Virtual IP,也称VIP),此时使用192.168.113.200访问主机,访问到的主机是A;假如A主机上的keepalived由于某些原因(例如服务器宕机、用户主动关闭…)关闭了,keepalived备用节点会检查与主节点keepalived的通信是否正常,检测到不正常,则会提升一个备节点为主节点,相应的虚拟IP也会在对应的主机上生成,从而实现高可用的目的。
1.1、VRRP1.1.1、VRRP协议在现实的网络环境中,两台需要通信的主机(end-host)大多数情况下并没有直接地物理连接。
对于这样的情况,它们之间的路由怎么选择?通常有两种方法解决如何选定到达目的主机的下一跳路由问题:使用动态路由协议,如RIP、OSPF等。
配置静态路由。
很明显,在主机上配置动态路由,因为管理、维护成本以及是否支持等诸多问题是不切实际的。
那么配置静态路由就变得很流行。
Mysql双机热备
![Mysql双机热备](https://img.taocdn.com/s3/m/a4efa52751e79b8969022652.png)
数据库双机(mysql版本:5.1.7)1、修改主服务器(192.168.8.91)master:#vi /etc/f[mysqld]log-bin=mysql-bin //[必须]启用二进制日志server-id=91 //[必须]服务器唯一ID,一般取IP最后一段2、修改从服务器(192.168.8.92)slave:#vi /etc/f[mysqld]log-bin=mysql-bin //[不是必须]启用二进制日志server-id=92 //[必须]服务器唯一ID,一般取IP最后一段3、重启两台服务器的mysqlservice mysqld restart4、在主服务器(192.168.8.91)上建立帐户并授权slave: #mysql -uroot -pab2222abmysql>GRANT REPLICATION SLAVE ON *.* to 'abab'@'%' ide ntified by 'ab2222ab';5、登录主服务器(192.168.8.91)的mysql,查询master的状态mysql>show master status;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000001 | 240 | | |+------------------+----------+--------------+------------------+1 row in set (0.00 sec)注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化6、配置从服务器(192.168.8.92)Slave:mysql>change master to master_host='192.168.8.91',master_u ser='abab',master_password='ab2222ab',master_log_file='mysq l-bin.000001',master_log_pos=240;mysql>start slave; //启动从服务器复制功能7、检查从服务器(192.168.8.92)复制功能状态:mysql> show slave status\G*************************** 1. row *************************** Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.8.91 //主服务器地址Master_User: abab//授权帐户名,尽量避免使用rootMaster_Port: 3306 //数据库端口,部分版本没有此行Connect_Retry: 60Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 240 //#同步读取二进制日志的位置,大于等于Exec_Master_Log_PosRelay_Log_File: mysqld-relay-bin.000002Relay_Log_Pos: 251Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: Yes //此状态必须YESSlave_SQL_Running: Yes //此状态必须YESReplicate_Do_DB:Replicate_Ignore_DB:Replicate_Do_Table:Replicate_Ignore_Table:Replicate_Wild_Do_Table:Replicate_Wild_Ignore_Table:Last_Errno: 0Last_Error:Skip_Counter: 0Exec_Master_Log_Pos: 240Relay_Log_Space: 407Until_Condition: NoneUntil_Log_File:Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File:Master_SSL_CA_Path:Master_SSL_Cert:Master_SSL_Cipher:Master_SSL_Key:Seconds_Behind_Master: 0Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_IO_Error:Last_SQL_Errno: 0Last_SQL_Error:1 row in set (0.00 sec)注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
CentOS5上mysql双机热备
![CentOS5上mysql双机热备](https://img.taocdn.com/s3/m/fa4ca8d133d4b14e852468c2.png)
花了大半天的时间研究mysql 5.0.* ,参考了很多文档,总算将mysql的双机热备给搞定了。
心情很好,写个文章纪念一下。
因为以后还可能实际用到,所以也作以下笔记。
使用两台虚拟机,nod1和nod2,分别设置两块网卡,桥接到主机网卡上。
nod1 eth0:192.168.145.162eth1:192.168.254.1nod2 eth0:192.168.145.168eth1:192.168.254.21.基础安装mysql.首先干净的系统,不是干净的系统不要紧,反正自己搞明白就行了。
在nod1上安装mysql.yum -y install mysql-serverchkconfig mysqld onservice mysqld startmysqladmin -uroot password’1q2w3e’修改root密码。
nod2上同样方式安装mysql,并做如上操作。
2.nod1上mysql的设置。
在这里我就用test数据库来做测试,在test数据库里新建一个data表,并添加一些数据,具体操作如下:#mysql -uroot -p1q2w3emysql> create table data(name VARCHAR(20), address VARCHAR(50), phone VARCHAR(20));mysql>insert into data(name,address,phone) values(‘johnson’,’shanghai’,’135000000′);mysql>select * from data;+———+———-+———–+| name | address | phone |+———+———-+———–+| johnson | shanghai | 135000000 |+———+———-+———–+1 row in set (0.01 sec)设置数据库同步帐户:mysql>GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO ‘backup’@’192.168.254.2′IDENTIFIED BY ‘qawsed’; (授与从192.168.254.2主机上登录用户backup数据复制权限,4.02版本以前用:GRANT FILE ON *.* TO bac kup@192.168.254.2 IDENTIFIED BY ‘qawsed’;)mysql>flush privileges;mysql> select user,host from user;+——–+——————+| user | host |+——–+——————+| root | 127.0.0.1 || backup | 192.168.254.2 || | localhost || root | localhost || | nod1.test.domain || root | nod1.test.domain |+——–+——————+6 rows in set (0.01 sec)修改配置文件:停止mysql服务service mysqld stop在[mysqld]中加入以下内容server-id=1 #设置服务器的ID号log-bin #设置同步logbinlog-do-db=test #设置同步数据库max_binlog_size=104857600replicate-same-server-idmaster-host=192.168.254.2 #主机IPmaster-user=backupmaster-password=qawsedmaster-port=3306master-connect-retry=60 #断点重试间隔为60秒replicate-do-db=test #表示同步test数据库binlog-ignore-db=mysql #不同步的数据库# service mysqld sta rt //先启动mysql# mysqldump -h localhost -u root -p1q2w3e test >test.sql#scp test.sql root@192.168.2542:/ //(将test.sql复制到mysqlB的/目录下)至此nod1服务器上有关mysql的设置已完成,下一步开始配置nod2设置nod2设置数据库同步帐户:mysql>GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO ‘backup’@’192.168.254.1′IDENTIFIED BY ‘qawsed’; (授与从192.168.254.1主机上登录用户backup数据复制权限,4.02版本以前用:GRANT FILE ON *.* TO bac kup@192.168.254.1 IDENTIFIED BY ‘qawsed’;)mysql>flush privileges;修改配置文件:停止mysql服务#service mysqld stop更改Mysql配置文件/etc/f# vi /etc/fserver-id=2 #设置服务器的ID号log-bin #设置同步logbinlog-do-db=test #设置同步数据库max_binlog_size=104857600replicate-same-server-idmaster-host=192.168.254.1 #主机IPmaster-user=backupmaster-password=qawsedmaster-port=3306master-connect-retry=60 #断点重试间隔为60秒replicate-do-db=test #表示同步test数据库binlog-ignore-db=mysql #不同步的数据库还原从mysqlA备份过的test.sql#service mysqld start# mysql -u root -p1q2w3e test重启两边的mysql服务查询配置Show Slave status:此处Slave_IO_Running ,Slave_SQL_Running 都应该是yes,表示从库的I/O,Slave_SQL线程都正确开启. 在Mysql中可通过以下命令来查看主从状态show master status 查看master状态show slave status 查看slave状态show processlist G 查看当前进程stop slave 暂时停止slave进程start slave 开始slave进程在primary服务器上MySQL命令符下输入:mysql>show master status;+——————-+———-+————–+——————+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+——————-+———-+————–+——————+| mysqld-bin.000001 | 196 | test | mysql |+——————-+———-+————–+——————+1 row in set (0.00 sec)mysql>show slave status\G;*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.254.1Master_User: backupMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysqld-bin.000001Read_Master_Log_Pos: 235Relay_Log_File: mysqld-relay-bin.000003Relay_Log_Pos: 236Relay_Master_Log_File: mysqld-bin.000001Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: testReplicate_Ignore_DB:Replicate_Do_Table:Replicate_Ignore_Table:Replicate_Wild_Do_Table:Replicate_Wild_Ignore_Table:Last_Errno: 0Last_Error:Skip_Counter: 0Exec_Master_Log_Pos: 235Relay_Log_Space: 236Until_Condition: NoneUntil_Log_File:Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File:Master_SSL_CA_Path:Master_SSL_Cert:Master_SSL_Cipher:Master_SSL_Key:Seconds_Behind_Master: 01 row in set (0.01 sec)Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: test表示正常!到此mysql的双机互备已基本完成,在两台服务器的mysql数据库中任意添加数据,都可以同步到对端服务器上。
MySQL双机热备+集群服务
![MySQL双机热备+集群服务](https://img.taocdn.com/s3/m/c171e16625c52cc58bd6be1e.png)
MYSQL双机热备+LVS负载均衡集群实现四台服务器均采用Asianux-3sp3 Linux操作系统!~1.MYSQL双机热备配置(主主模式)(1)配置mysql01服务器IP地址为172.16.1.101(2)配置mysql02服务器IP地址为172.16.1.102(3)在两台mysql服务器上安装MYSQL服务.(4)使用service mysqld start 启动mysql服务(5)使用mysqladmin –u 账号password 密码来创建管理账号(6)使用mysql –u 账号–p 回车输入密码登入MySQL(7)在mysql>状态下使用grant all on *.* to 账号@对端mysql2服务器的ip地址identified by ‘密码’;创建双机热备所使用的mysql账号(8)使用exit命令退出mysql(9)使用命令vi /etc/f 编辑/etc/f在文件最上方添加如下信息:server-id=1 mysql的id 两台mysql服务器一个为1一个为2log-bin=mysqlback 指定日志的名字master-host=172.16.1.102 对端mysql的ip地址master-user=hnspi 对端mysql设置的用于同步的账号,见(6)master-password 对端账号的密码master-port=3306 指定数据库使用的端口号保存退出(10)使用命令service mysqld restart重启mysql服务(11)使用mysql –u 管理账号–p 回车输入密码登入mysql(12)Mysql>状态下输入slave start ;启动slave(同步数据库)功能(13)输入exit退出至此mysql1服务器上的同步设置完成(14)Mysql2服务器上的配置基本上与mysql1相同,只是第(9)步的server-id改为2还有第(7)步改为grant all on *.* to 账号@对端mysql1服务器的ip地址identified by ‘密码’;创建双机热备所使用的mysql账号(15)至此mysql双机热备主主模式配置完成!2.MYSQL集群脚本编写在mysql1和mysql2的根目录下分别创建ip.sh脚本并赋予其执行权限。
基于RHEL5.5操作系统安装Mysql,以及配置双机热备
![基于RHEL5.5操作系统安装Mysql,以及配置双机热备](https://img.taocdn.com/s3/m/6b9ffb4af7ec4afe04a1df67.png)
mysql> FLUSH PRIVILEGES;
配置双机热备
A-->B
1、修改配置文件:
在主服务器上
修改/etc/f文件(配置文件所在由自己在安装时指定)
下载完成后开始安装MYSQL
rpm -ivh MySQL-server-5.5.23-1.rhel5.x86_64.rpm MySQL-client-5.5.23-1.rhel5.x86_64.rpm MySQL-devel-5.5.23-1.rhel5.x86_64.rpm MySQL-shared-5.5.23-1.rhel5.x86_64.rpm
service mysql start
然后再输入mysql,若出现以下提示信息,说明成功。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.16 MySQL Community Server (GPL)
开启远程连接(注:这种开启方法会导致本地无法访问,需要本地访问要远程使用SQLyog连接至服务器修改localhost的root用户权限)
mysql -u root -p
mysql> use mysql
mysql> UPDATE `user` SET `Host`='%' WHERE `User`='root' LIMIT 1;
MySQL双主+keepalived实现高可用实现(热备)
![MySQL双主+keepalived实现高可用实现(热备)](https://img.taocdn.com/s3/m/2f46cbc73086bceb19e8b8f67c1cfad6195fe9c5.png)
MySQL双主+keepalived实现⾼可⽤实现(热备)环境:centos6.7 最⼩化安装192.168.100.152 master 主192.168.100.153 slave 从192.168.100.132 v_ip 浮动IP配置ssh密码登录,关闭selinux,关闭防⽕墙1、安装mysql#yum install mysql* -y2、配置mysql配置⽂件#配置/etc/f[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlserver-id = 1 //这个ID是mysql数据库的唯⼀标识符log-bin = mysql-binlog_bin_trust_function_creators = 1binlog_format = mixedrelay-log = relay-binrelay-log-index = slave-relay-bin.index# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0default-character-set=utf8#slave_skip_errors = 1146#binlog-ignore-db=mysql[client]default-character-set=utf8[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid3、启动mysqld服务(启动mysql数据库)#service mysqld start#chkconfig mysqld on4、设置mysql数据库root密码#mysqladmin -uroot password '12345678'4、创建授权⽤户,配置同步。
MySQL数据库主从与主主服务器实现双机热备实例教程
![MySQL数据库主从与主主服务器实现双机热备实例教程](https://img.taocdn.com/s3/m/d01bd2c3240c844769eaee8a.png)
MySQL数据库主从与主主服务器实现双机热备实例教程网站:程序在:Web服务器192.168.21.129上面数据库在:MySQL服务器192.168.21.169上面实现目的:增加一台MySQL备份服务器(192.168.21.168),做为MySQL服务器(192.168.21.169)的从服务器,这两台MySQL服务器之间实现双机热备。
即:从服务器(192.168.21.168)上面指定的数据库永远与主服务器(192.168.21.169)上面指定的数据库保持同步,并且随着主服务器(192.168.21.169)上面指定的数据库的变化而变化。
环境说明1、Web服务器系统:CentOS 6.2IP:192.168.21.129Web环境:apache+php2、MySQL主服务器系统:CentOS 6.2IP:192.168.21.169主机名称:MySQLMasterMySQL版本:mysql-5.5.223、MySQL从服务器系统:CentOS 6.2IP:192.168.21.168主机名称:MySQLSlaveMySQL版本:mysql-5.5.224、客户机系统:Windows 7IP:192.168.21.130备注:作为主从服务器的MySQL版本建议使用同一版本!或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本(MySQL版本是向下兼容的)#################################################################### ###################教程开始:一、安装MySQL说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.221、配置防火墙,开启MySQL默认3306端口vi /etc/sysconfig/iptables #编辑防火墙配置文件-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT/etc/init.d/iptables restart #重启防火墙,使配置生效2、关闭SELINUXvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq 保存,关闭。
(售后服务)MSQL数据库双机热备服务器配置(解决方案)
![(售后服务)MSQL数据库双机热备服务器配置(解决方案)](https://img.taocdn.com/s3/m/c2f06289cfc789eb162dc891.png)
(售后服务)MSQL数据库双机热备服务器配置(解决方案)2007年中国网通河北省银河网扩容工程MySQL数据库服务器安装配置北京华夏电通科技XX公司2008年01月10日目录壹平台整体拓扑结构1二概述12.1安装准备22.2安装规划32.2.1服务器磁盘分区32.2.2磁盘阵列32.2.3IP规划32.3安装概要3三操作系统安装配置43.1系统安装43.2网络配置(Bonding)203.3JRE安装22四HDLM安装224.1安装22五数据库安装配置24六Rose HA安装配置256.1安装256.2初始设置Rose软件306.3配置双机HA35一概述mysql双机系统的拓扑结构如下图所示俩台服务器通过以太网卡连接网络,通过网络对外提供服务、相互通信。
俩台服务器之间用com口直接互联,双机热备软件利用这个连接进行双机热备关联的通信、监控、和控制等等。
俩台服务器通过HBA卡连接FC网络,访问共同的磁盘阵列,实现双机热别系统必要的磁盘。
1.1安装准备硬件信息软件准备操作系统:RedHatEnterpriseLinuxAS4update5x8664位版JRE:JavaRuntimeEnvironment5.0Update13forlinuxx64版HDLM5.9.3-00forlinuxMySQL5.0.45-0forRedHatEnterpriseLinux64RoseHAforlinux6.11.2安装规划1.2.1服务器磁盘分区1.2.2磁盘阵列MySQL数据库双机热备系统需要使用HDSAMS1000磁盘阵列提供的磁盘,于AMS1000上,unit0的disk0到disk3,共4块300G磁盘做RAID1+0,分配给MySQL数据库存储数据,可用容量约600G。
1.2.3IP规划192.168.35.1和192.168.35.2分别是俩台服务器的固定IP,192.168.35.3是漂移IP,负责于双机系统中对外提供MySQL服务,于银河平台中有用到此MySQL服务的应用均要将目标地址指向192.168.35.3而不是1或2。
mysql主从复制(mysql双机热备的实现)
![mysql主从复制(mysql双机热备的实现)](https://img.taocdn.com/s3/m/b4c33fb3294ac850ad02de80d4d8d15abe230047.png)
mysql主从复制(mysql双机热备的实现)Mysql数据库没有增量备份的机制,当数据量太⼤的时候备份是⼀个很⼤的问题。
还好mysql数据库提供了⼀种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中。
实现mysql数据库的热备份。
要想实现双机的热备,⾸先要了解主从数据库服务器的版本的需求。
要实现热备mysql的版本都⾼于3.2。
还有⼀个基本的原则就是作为从数据库的数据版本可以⾼于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。
当然要实现mysql双机热备,除了mysql本⾝⾃带的REPLICATION功能可以实现外,也可以⽤Heartbeat这个开源软件来实现。
不过本⽂主要还是讲如何⽤mysql⾃带的REPLICATION来实现mysql双机热备的功能。
1. 准备服务器由于Mysql不同版本之间的(⼆进制⽇志)binlog格式可能会不太⼀样,因此最好的搭配组合是主(Master)服务器的Mysql版本和从(Slave)服务器版本相同或者更低,主服务器的版本肯定不能⾼于从服务器版本。
本次我⽤于测试的两台服务器版本都是Mysql-5.5.17。
2. Mysql 建⽴主-从服务器双机热备配置步骤2.1环境描述A服务器(主服务器Master):59.151.15.36B服务器(从服务器Slave):218.206.70.146主从服务器的Mysql版本皆为5.5.17Linux环境下将主服务器需要同步的数据库内容进⾏备份⼀份,上传到从服务器上,保证始初时两服务器中数据库内容⼀致。
不过这⾥说明下,由于我是利⽤Mysql在安装后就有的数据库test进⾏测试的,所以两台服务器⾥⾯是没有建⽴表的,只不分别在test⾥⾯建⽴了同样的⼀张空表tb_mobile;Sql语句如下:mysql> create table tb_mobile( mobile VARCHAR(20) comment'⼿机号码', time timestamp DEFAULT now() comment'时间' );2.2 主服务器Master配置2.2.1 创建同步⽤户进⼊mysql操作界⾯,在主服务器上为从服务器建⽴⼀个连接帐户,该帐户必须授予REPLICATION SLAVE权限。
MySQL双机热备(keepalived+mysql双主)
![MySQL双机热备(keepalived+mysql双主)](https://img.taocdn.com/s3/m/a6ba02ca856a561252d36fc4.png)
科普描述双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。
当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。
MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换。
使用Keepalived,可以通过虚拟IP,实现双主对外的统一接口以及自动检查、失败切换机制,从而实现MySQL数据库的高可用方案。
Keepalived看名字就知道,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导整个系统架构的不可用)的发生,那说到keepalived不得不说的一个协议不是VRRP协议,可以说这个协议就是keepalived实现的基础。
1)Keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。
在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。
2)VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。
一组VRRP路由器协同工作,共同构成一台虚拟路由器。
Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。
当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。
环境服务器:•DB102:172.20.20.102 、centos6.5、mysql5.7、hostname:DB102•DB105:172.20.20.105 、centos6.5、mysql5.7、hostname:DB105•vip:172.20.20.110 (虚拟)•101:172.20.20.101 (用来远程调用vip 测试)组件包:•keepalived-1.1.20.tar.gz(/download.html)•ipvsadm-1.26-1.src.rpm(/software/ipvs.html)•popt-static-1.13-7.el6.x86_64.rpm(https:///download/popt-static)•libnl-1.1.4.tar.gz(/~tgr/libnl/)主从复制原理架构图•第一步就是master记录二进制日志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MySQL数据库双机热备服务器配置MySQL数据库服务器安装配置北京华夏电通科技有限公司2008年01月10日目录一平台整体拓扑结构错误!未定义书签。
二概述12.1 安装预备12.2 安装规划12.2.1 服务器磁盘分区12.2.2 磁盘阵列22.2.3 IP规划22.3 安装概要2三操作系统安装配置23.1 系统安装33.2 网络配置(Bonding)63.3 JRE安装9四HDLM安装94.1 安装9五数据库安装配置13六Rose HA安装配置136.1 安装136.2 初始设置Rose软件156.3 配置双机HA 16概述mysql图例:千兆光纤心跳线服务器千兆铜缆两台服务器通过以太网卡连接网络,通过网络对外提供服务、相互通信。
两台服务器之间用com 口直截了当互联,双机热备软件利用那个连接进行双机热备有关的通信、监控、和操纵等等。
两台服务器通过HBA 卡连接FC 网络,访咨询共同的磁盘阵列,实现双机热不系统必要的磁盘。
安装预备 硬件信息软件预备操作系统:Red Hat Enterprise Linux AS 4 update5 x86 64位版 JRE :Java Runtime Environment 5.0 Update 13 for linux x64版 HDLM 5.9.3-00 for linuxMySQL 5.0.45-0 for RedHatEnterpriseLinux 64 Rose HA for linux 6.1 安装规划 服务器磁盘分区磁盘阵列MySQL数据库双机热备系统需要使用HDS AMS1000磁盘阵列提供的磁盘,在AMS1000上,unit 0的disk 0到disk 3,共4块300G磁盘做R AID 1+0,分配给MySQL数据库储备数据,可用容量约600G。
192.168.35.1和192.168.35.2分不是两台服务器的固定IP,192.168.35. 3是漂移IP,负责在双机系统中对外提供MySQL服务,在银河平台中有用到此MySQL服务的应用均要将目标地址指向192.168.35.3而不是1或2。
安装概要操作系统安装配置操作系统版本Red Hat Enterprise Linux AS 4 update5 x86 64位版系统安装从光盘启动将系统安装盘放入光驱,启动服务器。
当系统从光盘启动时,第一显现如下画面直截了当回车,选择图形界面安装模式。
跃过光盘检查选择Skip,跃过光盘介质的检查。
接下来进入图形化的欢迎界面点击Next。
安装过程语言选择可选择Chinese(Simplified)(简体中文),点击Next连续。
键盘布局类型选择使用默认的U.S.English即可,点击“下一步”连续。
磁盘分区方式选择选择“用Disk Druid手工分区”,点击“下一步”连续会有一个警告信息点击“是”确认。
进入磁盘分区界面点击“新建”,显现下图我们的分区原则磁盘挂载点类型大小备注sda Swap 8G 内存两倍sda /var ext3 20Gsda /tmp ext3 4Gsda / ext3 36G 剩余空间以下对四个参数作个简单讲明:挂载点:它指定了该分区对应Linux文件系统的哪个名目。
意思确实是将不同的物理磁盘上的分区映射到不同的名目,如此能够实现将不同的服务程序放在不同的物理磁盘上,当其中一个分区损坏可不能阻碍到其他的分区数据。
文件系统类型:可选择的类型有EXT2、EXT3、REISERFS、SW AP等。
前两个是系统默认类型,SW AP是建立虚拟内存空间。
大小:以MB为单位。
那个地点要紧提一下SW AP分区大小,一样设为物理内存的两倍,如果你的物理内存大于1GB,SW AP分区建议设置为2 GB。
驱动器:即是指运算机中有多个物理磁盘,能够专门方便的选择你要进行分区操作的那个物理磁盘。
类似于“FDISK”分区中的操作。
磁盘分区完成后如下图所示配置引导装载程序当你机子还有windows系统存在时,就要注意在那个地点配置一下了。
如图9所示,框内部分即为你机器里安装的所有系统列表,如果没有发觉其它系统而你确实安装过的,能够点“添加”进行加入,不然运算机将会默认启动Linux,你先前的操作系统将无法启动!点“编辑”能够设定某个系统的启动等待时刻。
图9 系统引导菜单配置此次项目中,单机上没有多操作系统存在的情形,所用使用默认设置即可,点击“下一步”。
网络配置网络配置不用做任何配置,系统安装完成后我们将另行单独配置网络图10 网络配置防火墙配置系统已配置硬件防火墙,因此此步骤中,禁用防火墙,禁用SElinux。
防火墙配置接下来是选择系统默认使用语言、时区选择、以及设置根口令这三步。
由于这几步没什么需要注意的,按其默认点下一步即可,故在此略过,唯有设置根口令一步提醒一下,只有在治理时才使用根帐号。
附加语言支持点击下一步。
时区选择选择“亚洲/上海”,点击“下一步”。
设置根用户口令root用户口令Chin@sys在两个输入栏中重复输入口令,点击“下一步”。
软件包安装设置选择默认软件包即可。
点击“下一步”。
确认开始安装开始安装通过前面十步,现在终于能够开始安装了。
Linux比起windows操作系统的安装来讲,要慢得多,按照你机器的配置情形,此过程会连续一小时左右(如图13所示)!期间会让提示让你插入第二张、第三张光盘,因此得乖乖的呆在电脑面前!OK,一小时过后,满足的使用你的Linux系统吧!安装完成最后系统会提示你安装完成,点击完成系统会自动退出光盘并自动重启。
至此redhat AS4 安装完成!网络配置(Bonding)编辑文件/etc/modprobe.confvi /etc/modprobe.conf添加一行alias bond0 bondingoptions bond0 miimon=100 mode=1options bond0 arp_interval=60 arp_ip_target=192.168.35.254 primary=e th0 mode=1编辑/etc/sysconfig/network-script/ifcfg-bond0vi /etc/sysconfig/network-script/ifcfg-bond0mysql-1服务器的内容如下DEVICE=bond0IPADDR=192.168.35.1NETMASK=255.255.255.0NETWORK=192.168.35.0BROADCAST=192.168.35.255ONBOOT=yesBOOTPROTO=noneUSERCTL=nomysql-2服务器的内容如下DEVICE=bond0IPADDR=192.168.35.2NETMASK=255.255.255.0NETWORK=192.168.35.0BROADCAST=192.168.35.255ONBOOT=yesBOOTPROTO=noneUSERCTL=no编辑文件/etc/sysconfig/network-scripts/ifcfg-eth0 vi /etc/sysconfig/network-scripts/ifcfg-eth0内容如下DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLA VE=yesBOOTPROTO=none编辑文件/etc/sysconfig/network-scripts/ifcfg-eth1 vi /etc/sysconfig/network-scripts/ifcfg-eth1内容如下DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0SLA VE=yesBOOTPROTO=none修改主机名,增加网关vi /etc/sysconfig/networkmysql-1服务器设置如下内容GATEWAY=192.168.35.254HOSTNAME=mysql-1mysql-2服务器设置如下内容GATEWAY=192.168.35.254HOSTNAME=mysql-2JRE安装部分程序的运行需要Java环境支持,因此需要安装java运行环境,我们选用了Java Runtime Environment 5.0 Update 13 for linux x64版。
将安装程序包jre-1_5_0_13-linux-amd64-rpm.bin传至服务器。
增加可执行属性chmod u+x jre-1_5_0_13-linux-amd64-rpm.bin运行安装程序即可完成JRE安装。
./ jre-1_5_0_13-linux-amd64-rpm.binjava名目/usr/java/jre1.5.0_13HDLM安装安装放入license光盘,mount光盘mount /dev/cdrom /media/cdrom拷贝licensecp /media/cdrom/*.plk /var/tmp/hdlm_licenseumount光盘cd /umount /media/cdrom放入HDLM安装光盘,mount光盘mount /dev/cdrom /media/cdrom进入光盘名目cd /media/cdrom运行安装命令./installhdlm查询HDLM是否安装rpm –qi HDLM[root@mysql-1 ~]# rpm -qi HDLMName : HDLM Relocations: (not relocatable)Version : 5.93.0.583 Vendor: Hitachi, Ltd.Release : 11 Build Date: Tue 07 Aug 2007 11:08:10 PM CSTInstall Date: Thu 22 Nov 2007 08:04:58 PM CST Build Host: inspire.hitachi.co.jpGroup : System Environment/Driver Source RPM: HDLM-5.93.0.583-11.src.rpmSize : 19282117 License: All Rig hts Reserved. Copyright (C) 2003, 2007, Hitachi, Ltd.Signature : (none)Packager : Hitachi, Ltd.Summary : I/O Path Management SoftwareDescription :HDLM manages paths between a host and storage subsystem.HDLM evenly distributes the load across paths and switches to anoth er path if there is a failure in a path being used, thus improving system reliability.为运行命令方便,编辑文件/root/.bash_profile,增加如下HDLM程序路径行PATH=$PATH:/opt/DynamicLinkManager/binexport PATH生成hdlm设备dlmcfgmgr -r查看磁盘设备,是否生成了名为sddlmaa的设备fdisk -l[root@mysql-1 ~]# fdisk -lDisk /dev/sda: 73.4 GB, 73407820800 bytes255 heads, 63 sectors/track, 8924 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System /dev/sda1 * 1 4746 38122213+ 83 Linux /dev/sda2 4747 7357 20972857+ 83 Linux/dev/sda3 7358 8401 8385930 82 Linux swap/dev/sda4 8402 8924 4200997+ 5 Extend ed/dev/sda5 8402 8923 4192933+ 83 LinuxDisk /dev/sdb: 575.2 GB, 575257182208 bytes255 heads, 63 sectors/track, 69937 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System /dev/sdb1 1 69937 561768921 83 LinuxDisk /dev/sdc: 575.2 GB, 575257182208 bytes255 heads, 63 sectors/track, 69937 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System /dev/sdc1 1 69937 561768921 83 LinuxDisk /dev/sddlmaa: 575.2 GB, 575257182208 bytes255 heads, 63 sectors/track, 69937 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id Sys tem/dev/sddlmaa1 1 69937 561768921 83 Li nux数据库安装配置我们选用的数据库为MySQL 5.0.45-0 for RedHatEnterpriseLinux 64位版。