❶ mysql主从复制搭建有几个ip
在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的。譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止。介于这种情况,我们来学习一下mysql主从复制。
使用mysql主从复制的好处有:
1、采用主从服务器这种架构,稳定性得以提升。如果主服务器发生故障,我们可以使用从服务器来提供服务。
2、在主从服务器上分开处理用户的请求,可以提升数据处理效率。
3、将主服务器上的数据复制到从服务器上,保护数据免受意外的损失。
环境描述:
新企业要搭建架构为主从复制的mysql数据库。
主服务器(mysql-master):IP地址:192.168.48.128,mysql已安装,没有用户数据。
从服务器(mysql-slave):IP地址:192.168.48.130,mysql已安装,没有用户数据。
主从服务器均可正常提供服务。
主从复制配置如下:
在主服务器上操作:
1)、确保/etc/my.cnf中有如下参数,没有的话需手工添加,并重启mysql服务。
[mysqld]
log-bin=mysql-bin 启动二进制文件
server-id=1 服务器ID
2)、登录mysql,在mysql中添加一个backup的账号,并授权给从服务器。
[root@localhost ~]# mysql -uroot –p123456 登录mysql
mysql> grant replication slave on *.* to 'backup'@'192.168.48.130' identified by 'backup'; 创建backup用户,并授权给192.168.48.130使用。
3)、查询主数据库状态,并记下FILE及Position的值,这个在后面配置从服务器的时候要用到。
❷ linux换进怎么配置mysql主从服务器
展开全部
linux下配置mysql主从同步的步骤
一、主机环境
主机:
master操作系统:rhel6.0
IP:172.16.0.100
MySQL版本:5.1.47
从机:
www.2cto.com
slave操作系统:rhel6.0
IP:172.16.0.200
MySQL版本:5.1.47
二、创建数据库
分别登录master机和slave机的mysql:mysql
–u
root
–p
创建数据库:create
database
repl;
三、master机和slave机的相关配置
1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下
在[mysqld]配置段添加如下字段
server-id=1
log-bin=mysql-bin
binlog-do-db=repl
//需要同步的数据库,如果没有本行,即表示同步所有的数据库
binlog-ignore-db=mysql
//被忽略的数据库
在master机上为slave机添加一同步帐号
grant
replication
slave
on
*.*
to
'replication'@'172.16.0.200'
identified
by
'123456';
重启master机的mysql服务:service
mysqld
restart
用show
master
status
命令看日志情况
❸ 如何构建数据库的主从架构
“数据库”主要有数据库外部体系结构、内部体系结构两种。
从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构、客户/服务器、浏览器/应用服务器/数据库服务器多层结构,这是数据库外部体系结构。
物理存储结构、逻辑存储结构、内存结构和实例进程结构,这是内部体系结构。
❹ 我有一台mysql服务器,让它既作一些mysql的主服务器又想把它当做一个mysql的从服务器使用,如何配置
这个。。你要想玩主从,一台服务器没意义啊,好歹弄个虚拟机搭个mysql服务器也行啊
要真是就1台服务器就别弄主从了。。 如果2台或者2台以上的mysql 配置, 基本上就是在你config里写主库和从库的用户名和密码,地址等信息(或者写在apache配置里面 写成$ENV) 在你的数据调用类(通常叫做db.class.php)里面自己做主从的各种方法就行了
❺ 如何使用mysql 主从服务器
一.准备服务器
准备两台主机,分别安装好Mysql (要相同版本),确定版本无误,确保mysql服务正常启动,确保两台主机处于同一个局域网中,确定好哪台做为主、备机器,假设A为主机,B为备机,假设:
A主机IP地址为:172.16.16.90 端口3306
B主机IP地址为: 172.16.99.98 端口3306
二.Mysql建立主-从服务器热备配置步骤
1.创建同步用户
进入MySql操作界面,在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICATION SLAVE权限。
操作指令如下:
1)grant select,replication slave on *.* to 'replicate'@'172.16.99.98' identified by '1234567';
2)flush privileges;
2.修改Mysql配置
如果上面的准备工作做好,就可以进行对Mysql配置文件进行修改了,首先找到主服务器Mysql安装文件所有在目录,找到my.ini文件用记事本打开。在[mysqld]下增加如下内容:
server-id=1
log-bin=mysql-bin
binlog-do-db=test #需要备份的数据库,多个写多行
binlog-ignore-db=mysql#不需要备份的数据库,多个写多行
3.重启mysql服务
修改完配置文件保存后,重启一下mysql服务。
4.查看主服务器状态
进入A服务器Mysql 客户端输入命令
1)Show master STATUS;
2)返回结果如下:
注意看里面的参数,特别前面两个File和Position,在从服务器(Slave)配置主从关系会有用到的。
5.从服务器Slave配置修改配置文件
因为这里面是以主-从方式实现mysql双机热备的,所以在从服务器就不用在建立同步帐户了,直接打开配置文件my.ini进行修改即可,道理还是同修改主服务器上的一样,只不过需要修改的参数不一样。
如下:
[mysqld]
server-id=2
log-bin=mysql-bin
replicate-do-db=test
replicate-ignore-db=mysql
6.重启mysql服务
修改完配置文件保存后,重启一下mysql服务。
7.配置从服务器
先停止slave服务线程,这个是很重要的,如果不这样做会造成下面操作不成功,再用change mster 语句指定同步位置,操作如下:
1)stopslave;
2)change master to master_host='172.16.16.90',
master_user='replicate',master_password='1234567',master_port=3306,
master_log_file='mysql-bin.000001',master_log_pos=98;
3)start slave
4) showslavestatus
查看下面两项值均为Yes,即表示设置从服务器成功。
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
❻ Ubuntu配置Mysql主从数据库
本次环境:虚拟机下
服务器:Ubuntu
14.04
LTS
数据库:
5.5.37
端口:3306
主IP:192.168.63.133
从IP:192.168.63.134
授权账号:
user:suxh
password:111111
好了交代完环境:我们直接配置:
第一步:主从两台服务器要有同样的数据库(需要同步的)这里用的是backup
数据库(不多说了,在同步开始前,把主库的复制一份到从库就行了)
第二步配置主(master)数据库
编辑/etc/my.cnf
主要是开启二进制日志
和设置要同步的数据库
等一些参数
#
binary
logging
format
-
mixed
recommended
binlog_format=mixed
binlog-ignore-db=mysql
binlog-do-db=backup
#
required
unique
id
between
1
and
2^32
-
1
#
defaults
to
1
if
master-host
is
not
set
#
but
will
not
function
as
a
master
if
omitted
server-id
=
1
参数解释下:
server-id
这个是唯一的不能跟从服务器相同。
binlog_format
二进制文件的格式
binlog_ignore-db
忽略的数据库
binlog-do-db
要同步的数据库
设置完了以后
重启数据库就可以了。
第三步从数据库:
同样修改/etc/my.cnf
在mysql
版本5.1.7
不支持master-host”类似的参数;
所以这里只要配置server-id=2
就可以了
然后登陆从数据库设置
change
master
to
master_host='192.168.63.133',
master_user='suxh',
master_password='111111';
slave
start;
基本配置就好了。这是我的简要笔记。
❼ 如何在一台windows主机上搭建mysql主从复制
1、首先要在本地建立两个mysql服务(参考这里),指定不同的端口。我这里一个主(3306),一个从(3307)。
2、然后修改主配置文件:
[mysqld]
server-id = 1
binlog-do-db=test #要同步的数据库
#binlog-ignore-db=mysql #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的
log-bin=mysql-bin #要生成的二进制日记文件名称
修改从配置文件:
[mysqld]
server-id = 2
log-bin = mysql-bin
replicate-do-db=test
3、在主库添加一个用户 repl 并指定replication权限
create user 'repl'@'127.0.0.1' identified by 'asdf';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'; -- --这里我指定数据库(test.*)时报错,而指定全库(*.*)时会成功。
4、保持主从mysql的test数据库初始状态一致。
一般是先将所有的表加读锁,然后磁盘上的数据库文件夹。我这里直接停止服务,然后将数据文件拷贝过去。
5、在主数据库里面运行show master status;记下file和position字段对应的参数。
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | test | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
6、在从库设置它的master:
mysql> change master to master_host='127.0.0.1',master_port=3306,master_user='repl',master_password='asdf',master_log_file='mysql-bin.000001',master_log_pos=107;
Query OK, 0 rows affected (0.19 sec)
这里的master_log_file和master_log_pos对应刚才show master status记下的参数。
7、在从库开启从数据库复制功能。
slave start;
mysql> slave start;
Query OK, 0 rows affected (0.00 sec)
在从库可以通过show slave status来查看一些参数。
8. 此时在主库创建表或插入数据,在从库就会很快也能看到了。
-- 主库
mysql> create table tianyc_02(b int);
Query OK, 0 rows affected (0.16 sec)
mysql> insert into tianyc_02 values(2013);
Query OK, 1 row affected (0.13 sec)
-- 从库
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| tianyc_01 |
| tianyc_02 |
+----------------+
2 rows in set (0.00 sec)
mysql> select * from tianyc_02;
+------+
| b |
+------+
| 2013 |
+------+
1 row in set (0.00 sec)
同理,可以搭建第二、第三个从节点。
参考:http://blog.sina.com.cn/s/blog_4d06da1f01010m55.html
备注:两个服务的serve_id必须不同,否则在开启复制功能时会提示错误
mysql> slave start;
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
❽ MySql服务器怎么架设主从数据库服务器呢
大致步骤如下:主MySQL服务器:192.168.3.1备MySQL服务器:192.168.3.2配置文件路径:/etc/my.cnfMySQL服务状态:停止-------------------------主服务器配置-------------------编辑配置文件:vi
/etc/my.cnf找到[mysqld]在它下面添加内容:server-id=1log-bin=backuplogbinlog-do-db=test#如果有多个数据库需要同步,添加多行即可#binlog-do-db=test2保存my.cnf配置文件。启动mysql:service
mysqld
start用root登录mysql,为同步数据创建新帐号:grant
file,select,replication
slave
on
*.*
to
'test'@'%'
identified
by
'123456';------------------------备服务器配置-------------------------编辑配置文件:vi
/etc/my.cnf在[mysqld]下加入:server-id=2master-host=192.168.3.1master-user=testmaster-password=123456master-port=3306#replicate-do-db=test
#此配置项为设置仅同步的数据库名,其它数据库忽略(建议不设置此选项)保存并启动mysql即可。如果需要查看同步状态,可分别在主从服务器上用如下命令查看:主服务器:show
master
status;从服务器:show
slave
status\G------------------值得说明的两个文件-----------------备份服务器上的/var/lib/mysql/目录下有两个:master.info和relay-log.info它们记录了主服务器的配置信息和同步信息,如果出现备份服务器不能同步数据的问题,可尝试将这两个文件删除,让备服务器重新同步。备注:进行操作之前先备份下数据比较保险一点。
❾ 如何在一台windows主机上搭建mysql主从配置
先在主数据库中创建新数据库rep_test。
然后编辑主数据库的my.ini文件
在[mysqld]节点中增加如下内容:
server-id=1 #指定唯一的ID,1至32,必须的
log-bin=mysql-log-bin #指定二进制日志存放路径,必须的
binlog-do-db=rep_test #指定要同步的数据库,必须的
#binlog-ignore-db=mysql #指定不要同步的数据库,如果指定了binlog-do-db就不用再指定该项
重启主数据库,然后在主数据库中建立一个备份账户
mysql>grant replication slave on *.* [email protected] identified by 'slave' ;
mysql>flush privileges;
PS:identified by 指定的slave是账号[email protected] 的密码
显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;
mysql>show master status;
在从数据库中创建新的数据库rep_test。
然后编辑从数据库的my.ini文件
在[mysqld]节点中增加如下内容:
server-id=2 #指定唯一的ID,2至32,必须的,并且不能跟主数据库一样
replicate-do-db=rep_test #指定要同步的数据库,必须的
#replicate-ignore-db=mysql #指定不要同步的数据库,
重启从数据库,设置登录主数据库的账号和密码等信息,然后启动slave
mysql>change master to master_host='192.168.1.2',master_user='slave',master_password='slave', master_log_file='mysql-bin.000002',master_log_pos=120;
mysql>start slave;
查看从数据库的信息
mysql>show slave status G;
如果出现:Slave_IO_Running: YesSlave_SQL_Running: Yes以上两项都为Yes,那说明没问题了
测试主从复制是否有效果
在主数据库中创建一个新的数据库,然后再切换到从数据库查看是否同样多出通名的数据库
如果一开始数据库的架构不是主从复制,并且运行一段时间后已经有数据存在,那配置的方式略有不同。
编辑主数据库的my.ini文件,加上一下内容:
binlog-do-db=landclash
重启主数据库,然后在主数据库中锁定所有的表
mysql>flush tables with read lock;
显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;
mysql>show master status;
将主数据库data目录下需要做主从复制的数据库的同名目录拷贝到从数据库的data目录下
编辑从数据库的my.ini文件,加上一下内容:
replicate-do-db=landclash
重启从数据库,因为主数据库在重新配置my.ini后,日志文件变成新的文件,所以需要再次设置登录主数据库的账号和密码等信息
mysql>stop slave;
mysql>change master to master_host='192.168.1.2',master_user='slave',master_password='slave', master_log_file='mysql-bin.000003',master_log_pos=120;
mysql>start slave;
再次输入查看从数据库状态的命令
mysql>show slave status G;
完成上述配置后,回到主数据库,将表解锁
mysql>unlock tables;
之后在主数据库的修改就能同步到从数据库上了。
配置旧数据库的主从复制
❿ 如何用mysql搭配主从数据库
两台机器,192.168.162.128(主) 192.168.162.130(从)
配置主的配置文件
vi /etc/my.cnf
正常,说明主从搭建成功