mysql数据库同步部署

1、配置/etc/my.cnf文件

采取双机部署方式,两台机器的配置文件略有不同,如下图所示,server-id设置为不同的数字,auto_increment_offset一台机器设置为1,另外一台机器设置为2。

2、启动mysql服务

#service mysql start

#chkconfig mysql on

#/usr/bin/mysqladmin -u root password ‘mysql.rzrk‘

3、主备机配置

确认两台机器MYSQL服务都正确配置并成功启动,然后进行master同步的配置,以192.168.1.119和192.168.1.220为例,在8和9上分别执行如下命令:

grant replication slave on *.*to ‘replication‘@‘192.168.1.%‘ identified by       ‘replication.rzrk‘;

在数据库中建立replication账号,并且允许192.168.1.0网段的地址来登录,密码是replication.rzrk:

flush privileges;

刷新数据库。

show master status;

然后再在119上执行如下命令(其中master_log_file和master_log_pos的值是220机器上显示的信息):

在这里主要是看:
                   Slave_IO_Running=Yes
                   Slave_SQL_Running=Yes

slave的I/O和SQL线程都已经开始运行,而且Seconds_Behind_Master不再是NULL。日志的位置增加了,意味着一些事件被获取并执行了。如果你在master上进行修改,你可以在slave上看到各种日志文件的位置的变化,同样,你也可以看到数据库中数据的变化。

结果如下所示:

4、验证

在其中一台机器导入初始数据库,命令如下:

mysql –u  root -pmysql.rzrk

create database ttmgrportaldefault charset utf8;

quit

命令行执行:

mysql -u root -pttmgrportal < ttmgrportal_0828.sql

经验总结如下:mysql同步出问题就这样进行排查:

1Warning: World-writable config file ‘/etc/my.cnf‘ is ignored

解决:#chmod 644/etc/my.cnf

# service mysqld stop

# service mysqld start

2、Slave_SQL_Running: NO

   Seconds_Behind_Master:NULL

解决:>stop slave;

>set global sql_slave_skip_counter =1;

>start slave;

3、Fatal error: The slave I/O threadstops because master and slave have equal MySQL server UUIDs; these UUIDs mustbe different for replication to work.

解决:

> show variables like ‘server_id‘;

> set global server_id=2; #此处的数值和my.cnf里设置的一样就行

> slave start;

4、mysql主从同步中showmaster status,结果为空?

没有开启二进制日志

mysql>show variables like ‘%log_bin%‘;   如果是off表示你没有开启

开启二进制日志啊

在my.cnf中添加一条语句

log_bin=/var/log/mysqld/mysql-bin

时间: 2024-10-08 17:14:08

mysql数据库同步部署的相关文章

MySQL主从同步部署

mysql主从同步部署: master:192.168.2.67 slave:192.168.2.211 同步系统非默认库,master中其它库已经运行一段时间. master端: vim /etc/my.cnf server-id       = 1    master端ID号 log-bin=/data/logbin/mysql-bin    日志路径及文件名 #binlog-do-db = debit            同步debit,此处关闭的话,就是除不允许的,其它的库均同步. b

MySQL数据库同步的实现

以下的文章主要向大家介绍的是MySQL数据库同步的实际操作步骤以及对实现MySQL数据库同步的实际应用代码与其在实际操作过程中值得我们大家注意的相关事项的描述,希望会给你带来一些帮助在此方面. 在网上我找了一下,大家都说的是这样:" MySQL从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能. MySQL数据库同步复制功能的设置都在MySQL的设置文件中体现.MySQL的配置文件(一般是my.cnf) 在unix环境下在/etc/MySQ

mysql数据库同步跳过临时错误[转]

mysql数据库同步跳过临时错误slave stop;set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;slave start; 几个跟热备有关的mysql命令:(需要在mysql命令行界面或query ) stop slave #停止同步 start slave #开始同步,从日志终止的位置开始更新. show slave status #查看同步状态 SET SQL_LOG_BIN=0|1 #主机端运行,需要super权限,用来开停日志,随意开停,会造成主机从机数据不一

MySQL数据库同步小工具(Java实现)

近期公司做个报表系统,为了报表系统中复杂的查询条件,不影响线上业务系统的使用,研究了一下MySQL数据库同步,下面用Java代码实现MySQL数据库同步,以便自己查阅! ? 数据库同步实现功能点: 1.支持跨服务器跨库的多线程同步 2.每张表的同步有日志记录 3.每次同步记录数可配置 源码和具体的使用细则,可以到下载源码及使用说明?. ? 一.数据同步核心代码 ? ? ? 二.数据库同步多线程实现 ? ? ? ? 三.配置文件及读取配置文件代码 配置文件内容为: 读取配置文件的Java类为: ?

mysql数据库同步可以针对单张表同步吗?解决办法

mysql数据库同步可以针对单张表同步吗?第一个问题:mysql数据库同步可以针对单张表同步吗? 也就是说1.数据库A里面有a1,a2,a3三张表,数据库B里面只有一张a1表(A与B的a1的表结构式一样的)2.数据库B只同步数据库A中的a1表3.数据库A也要同步B的a1表 注:其实可以认为是数据库A与数据库B的a1表双向同步,即A数据库a1数据有改变,,B数据库a1也要相应改变,同理B数据库a1有改变,A数据库a1也要改变(Aa1<=>Ba1) 第二个问题:配置数据库同步linux与windo

Linux两台服务器mysql数据库同步

我们在做web系统部署的时候往往涉及到两台甚至多台数据库的备份,为了数据安全考虑(虽然说到底不过是一堆0 1,但是价值千金啊),所以我们还是乖乖做同步把! 1.准备两台Linux服务器(主.从) 2.安装好Mysql 3.在配置文件/etc/my.cnf(MySQL中为mysql.ini)修改开启二进制日志 log-bin=mysql-bin 修改方法:打开配置文件后在 [mysqld]中添加内容: server-id = 1 #确保在整个MySQL集群中唯一 log-bin=/var/log/

不同服务器的mysql数据库同步

目标: A服务器上自建的数据库同步到B服务器上自建的数据库. 阿里云的RDS数据库A同步到B服务器上自建的数据库. A的数据库名为:mytest 基础:linux,会配置my.cnf 开始: 下面称前者A为主服务器,后者B为从服务器. 先在A服务器查看:sql语句:show master status; 得到File,Position 的值. 'mysql-bin.000039', '1538',  (这个后面要用到) 在B服务器,修改:/etc/my.cnf. 修改前,先停止mysql. 增加

mysql数据库同步时数据一致性的配置优化

据丢失,而在生产环境中, 每一数据都是要尽量不等丢失,所以,为了提高主从数据一致性和稳定性,降低丢失数据的可能,就需要进行一些配置优化,使用一些特别的设定,使得数据安全更好,但是同时也会影响到mysql数据库的性能,所以就需要在安全和性能之间进行取舍.根据使用的具体环境,选择最适合自身的数据库安全设置.下面就一一介绍和列举几个对主从数据复制安全比较重要的几个配置参数:MySQL版本为5.61.master主库上设置:innodb_flush_log_at_trx_commit=0: log bu

mysql数据库同步

windows xp 下设置数据库同步 环境:两台windows xp系统机器,并且安装同一版本的数据库5.0.17 两台机器Ip A:173.26.100.62 B:173.26.100.61 此例为A为主服务器,B为从服务器,A服务器上的数据变更会更新到B服务器数据库当中步骤: 1 .A机器上创建数据库tsas,设置数据库访问权限,也就是创建一个用户和密码,目的在于在B机器上用创建的这个用户能够正常连接A机器的数据库. grant file on *.* to [email protecte