Ubuntu配置Mysql主从数据库_MySQL

Ubuntu创建Web项目时,使用MySQL的主从数据库配置来实现查询负载均衡和数据库热备份已经成为一种流行趋势。
本文详细记录了Ubuntu14.04LTS环境下搭建MySQL主从复制的过程。
配置环境如下:环境配置:虚拟机下服务器:Ubuntu14.04LTS数据库:5.5.37端口:3306主IP:192.168.63.133从IP:192.168.63.134授权账号:用户:suxh,密码:111111配置步骤如下:第一节步骤:确保主从服务器拥有同一组数据库。
这里我们以备份数据库为例。
步骤2:配置后端数据库,编辑/etc/my.cnf文件并设置关键参数:#binaryloggingformat-mixedrecommishedbinlog_format=mixedbinlog-ignore-db=mysqlbinlog-do-db=backupserver-id=1描述:server-id:保证唯一性,不能与从服务器相同。
binlog_format:二进制日志格式。
binlog-ignore-db:忽略数据库。
binlog-do-db:同步数据库。
配置完成后,重启数据库。
步骤3:配置从库并编辑/etc/my.cnf文件对于MySQL5.1.7版本,不支持类似“master-host”的设置。
您只需设置:server-id=2。
连接到从数据库并运行以下命令来完成主从复制设置:changemastert。
omaster_host='192.168.63.133',master_user='suxh',master_password='111111';slavestart;此时MySQL主从数据库的配置就完成了,实现数据库的负载均衡和热备份。

数据库主从同步配置(二十九)

配置主从同步的方式有多种,可概括为以下步骤

mysql主从如何设置同步

MySQL主从同步设置同步介绍MySQL主从同步是一个异步复制过程,从一个Master复制到另一个Slave。
Master和Slave之间的整个复制过程主要由三个线程完成,其中两个(Sql线程和IO线程)在Slave端,另一个线程(IO线程)在Master端。
要实现MySQL的主从同步,首先必须在Master端开启BinaryLog(mysql-bin)功能,否则无法实现。
因为整个复制过程实际上就是Slave从Master获取日志,然后在自己身上按照完整的顺序执行日志中记录的各种操作。
可以通过启动MySQLServer时使用“-log-bin”参数选项来打开MySQL的BinaryLog,或者通过在my.cnf文件中的mysqld参数组([mysqld]标识符后面的参数部分)添加“log-bin”来打开MySQL的BinaryLog。
.cnf配置文件。
参数项。
Mysql主从服务器配置主服务器IP:192.168.1.60从服务IP:192.168.1.61Linux:centOSMysql版本:5.1.58以下配置均在此服务上配置。
查看主库服务器的my.cnf配置文件,根据mysql安装包和版本的不同,相关路径和配置文件路径会大致不同,但大多数情况下是相同的。
该文件位于etc/目录中。
Mysql服务还针对不同的服务器配置提供了不同的配置文件。
当你想使用它们时,只需将上面的my.cnf文件替换为其中任何一个即可。
注意:替换文件名必须是my.cnf。
cnf配置文件一般有四个,可以根据命令#ll/usr/share/mysql/*.cnf查看;my-small.cnf内存小于等于64M,仅提供少量数据库服务;my-medium.cnf内存在32M--64M之间,用于其他服务,例如web;my-large.cnf内存为512M,主要提供数据库服务;my-huge.cnf内存为1G到2G,主要提供数据库服务;my-innodb-heavy-4G.cnf内存为4G,主要提供大负载数据库服务(一般服务器都用这个);可以根据不同的服务器配置选择不同的cnf配置文件。
my.cnf文件使用系统默认的etc/my.cnf配置文件进行配置。
配置主服务器主要需要在配置文件中添加以下几项(添加时请确保文件中不存在它们,因为如果选择以上不同配置文件的配置文件内容会有所不同如果没有对应的项目,则需要添加)。
用vietc/my.cnf打开文件,修改该文件,在[mysqld]下添加修改:Server-id=1#这个是数据库ID。
这个ID是唯一的。
主库默认为1,其他从库使用此ID递增,ID值不能重复。
否会发生同步错误;log-bin=mysql-bin二进制日志文件,此项为必填项,否则无法同步数据;binlog-do-db=testcreate#需要同步的数据库,如果需要同步多个数据库;继续添加这个。
binlog-do-db=testcreate1binlog-do-db=testcreate2binlog-ignore-db=不需同步的mysql数据库;现在主服务器配置my.cnf配置完成,保存退出文件。
现在重启Mysql服务器:#servicemysqldrestart如果重启失败,则证明配置文件错误,需要重新检查。
建议:修改前最好先备份my.cnf,避免修改配置文件失败并及时重启服务器。
配置完成后,需要建立数据库帐号进行同步。
主要数据库需要提供一个账号供从库进行连接和同步。
使用命令mysqlservermysqlgrantreplicationslaveon*.*to'testcreate'@'192.168.1.61'identifiedby'123456';描述:'testcreate':同步数据库;'192.168.1.61':同步数据库地址;'123456':同步数据库密码,配置从库时需要设置。
显示master数据库信息mysqlshowmasterstatus;执行上述命令显示:看到上述信息则说明master数据库建立成功。
备份数据库的方式有多种(如果从服务器也新建数据库则不需要此操作):备份数据库的方式有多种:如果在同一个局域网内,可以直接复制数据库,也可以使用工具直接导入数据。
使用打包方式复制数据库:#cd/data进入Mysql数据库存放路径#tarcvfztestcreate.tar.gzdb/然后从数据库中复制并解压#cd/data#scp192.168.1.61:/data/testcreate.tar.gz#tarxvfztestcreate.tar.gz数据复制完成;从库配置从服务器的配置与主库配置基本相同。
选择的从服务器为:192.168.1.611。
配置从库服务my.cnf文件#vietc/my.cnf修改如下:Server-id=2#这里的ID改为2,因为主库为1;数据同步需要log-bin=mysql-bin;master-host=192.168.1.60主数据库IP;master-user=用于测试同步的账户;master-password=123456为同步账号密码,master数据库的设置;master-port=3306同步数据库的端口号。
重新启动从服务器#servicemysqldrestart。
如果重启失败,则说明配置文件有问题,需要重新检查配置。
调整复制数据库的权限(如果有从主库复制的数据库)。
从主库复制过来的数据库权限是root权限,如果从库不是新建的库,需要改为mysql权限#chown–Rmysql:mysql/var/lib/mysql。
需要这一步来显示mysql服务器的从服务器态:mysqlshowslavestatus\G;如图:如果slave_io_running和slave_sql_running都为yes,则说明从服务器配置成功。
如果遇到位置相关的错误,需要手动设置如下File/Postion信息mysqlChangemastertomaster_host='192.168.1.60'master_user='test'master_password='123456'master_log_file='mysql-bin.000001',主库的File信息master_log_pos='106';主图书馆位置信息