当前位置:文档之家› mysql数据库复制

mysql数据库复制

mysql数据库复制技巧集锦最近在学习关于mysql的数据库复制方面的东东,搜集了一些资料,整理如下:1:mysql手动复制数据库技巧2:MYSQL 复制范例详解3:MYSQL数据同步备份复制电脑网络4:MySql数据库同步复制;mysql数据复制方案5:MySQL异步复制备忘6:mysql的root口令忘记了怎么办?7:【翻译】MYSQL数据库复制mysql数据库复制技巧集锦1:mysql手动复制数据库技巧引用源博文网址:/blog/ccid/do_showone/tid_49707.html我工作的环境中,有一个开发的MYSQL数据库,一个处于生产环境的MYSQL数据库。

我不定期的从生产环境复制数据到我哦大开发环境。

以前,我都是导出到脚本,然后再导入。

其实,利用‗mysqldump‘命令以及管道操作符,还有‗mysql‘可以一步完成。

命令是:mysqldump wap --opt | mysql wap -h 221.218.9.41我下面对这个命令的几个部分说明一下。

mysqldump wap --opt,是把名为wap的这个数据库导出到标准输出。

并且使用--opt选项。

--opt 等效于--add-drop-table, --add-locks,--create-options, --quick, --extended-insert, --lock-tables, --set-charset, 和--disable-keys。

这在完全导出然后完全导入数据的时候,非常有用。

在这里,我没有指定登陆帐号和密码,因为我的配置文件f已经指定了。

然后是一个管道操作符。

它的作用是把第二个的输出转为第二个命令的输出。

在这里,我没有指定登陆帐号和密码,因为我的配置文件f已经指定了。

第三个命令,则是我们常用的mysql命令行客户端,-h选项指定了目标机器。

希望我写的这个小技巧,能够对你有用。

不过,你前晚得小心了——别弄反了导入和导出的方向。

2:MYSQL 复制范例详解/u/15758/showart.php?id=181596MYSQL 复制范例详解首先准备主从服务器主A-192.168.100.1从B-192.168.100.2上面安装尽量为相同版本的MYSQL如果使用不同版本时,则从库的MYSQL版本可以高于主库,反之不然1.配置主库/etc/ff中要有一下两句:在[mysqld]添加如下参数server-id = 1log-bin一般来说,f应该在/etc下面,如果是rpm安装,也可以在/var/lib/mysql下面。

2.锁主库表mysql> flush tables with read lock;注意,锁表之后,所有对于该数据库的写操作都将被禁止。

因此应该已经确切准备好下一步的操作之后,再按回车执行建议开两个窗口,一个用于mysql,一个用于命令行3. 备份主库数据文件cd /dateDirectory #数据文件存放目录cp -r mysql mysql_0227上面假设是rpm缺省安装。

在文件复制过程中,就可以进行下一步了。

[编辑]记录二进制文件位置回到刚才的mysql窗口mysql> show master status;得到如下结果:+---------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+---------------+----------+--------------+------------------+| zx-bin.000002 | 98 | | |+---------------+----------+--------------+------------------+[编辑]解锁待文件复制完成,就可以解锁了mysql> unlock tables;此时,主库已经恢复正常工作。

以后的操作不会影响master的工作了。

[编辑]在主库生成复制用户权限mysql> GRANT REPLICATION SLAVE ON *.* TO 'replman'@'%' IDENTIFIED BY 'xplus'; mysql> flush privileges;[编辑]复制数据文件到从库替换已经存在的从库data目录,并chown -Rf mysql:mysql mysql修改数据文件属性[编辑]修改从库的f方法同步骤1,但server_id要与其它服务器不同[编辑]启动从库重新启动从库mysql >CHANGE MASTER TOMASTER_HOST='192.168.100.1',MASTER_USER='replman',MASTER_PASSWORD='xplus',MASTER_LOG_FILE='zx-bin.000002',MASTER_LOG_POS=98;其中,MASTER_HOST是主库IP,用户名密码在上面生成主库复制用户的命令中,日志文件名和位置在show master status步骤中得到[编辑]启动复制mysql >start slavemysql >show slave statusBY:IORI3:MYSQL数据同步备份复制电脑网络一帅/posts/25330发表于2006-04-20 22:17设置MySql 数据同步mysql从3.23.15版本以后提供数据库复制功能。

利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能数据库同步复制功能的设置都在mysql的设置文件中体现。

mysql的配置文件(一般是f),在unix环境下在/etc/mysql/f 或者在mysql用户的home目录下的f。

window环境中,如果c:根目录下有f文件则取该配置文件。

当运行mysql的winmysqladmin.exe工具时候,该工具会把c:根目录下的f 命名为mycnf.bak。

并在winnt目录下创建my.ini。

mysql服务器启动时候会读该配置文件。

所以可以把f中的内容拷贝到my.ini文件中,用my.ini文件作为mysql服务器的配置文件。

设置方法:设置范例环境:操作系统:window2000 professionalmysql:4.0.4-beta-max-nt-logA ip:10.10.10.22B ip:10.10.10.53A:设置1.增加一个用户最为同步的用户帐号:GRANT FILE ON *.* TO backup@'10.10.10.53'IDENTIFIED BY ‗1234‘2.增加一个数据库作为同步数据库:create database backupB:设置1.增加一个用户最为同步的用户帐号:GRANT FILE ON *.* TO backup@'10.10.10.22'IDENTIFIED BY ‗1234‘2.增加一个数据库作为同步数据库:create database backup主从模式:A->BA为master修改A mysql的my.ini文件。

在mysqld配置项中加入下面配置:server-id=1log-bin#设置需要记录log 可以设置log-bin=c:mysqlbakmysqllog 设置日志文件的目录,#其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog 的几个日志文件。

binlog-do-db=backup #指定需要日志的数据库重起数据库服务。

用show master status 命令看日志情况。

B为slave修改B mysql的my.ini文件。

在mysqld配置项中加入下面配置:server-id=2master-host=10.10.10.22master-user=backup#同步用户帐号master-password=1234master-port=3306master-connect-retry=60预设重试间隔60秒replicate-do-db=backup 告诉slave只做backup数据库的更新重起数据库用show slave status看同步配置情况。

注意:由于设置了slave的配置信息,mysql在数据库目录下生成,所以如有要修改相关slave的配置要先删除该文件。

否则修改的配置不能生效。

双机互备模式。

如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。

在A的配置文件中mysqld 配置项加入以下设置:master-host=10.10.10.53master-user=backupmaster-password=1234replicate-do-db=ba ckupmaster-connect-retry=10在B的配置文件中mysqld 配置项加入以下设置:log-bin=c:mysqllogmysqllogbinlog-do-db=backup注意:当有错误产生时*.err日志文件。

同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start重起AB机器,则可以实现双向的热备。

测试:向B批量插入大数据量表AA(1872000)条,A数据库每秒钟可以更新2500条数据。

4:MySql数据库同步复制摘自longrujun 的Blog (作者Blog:/longrujun/)关键字MySql数据库同步复制该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。

数据库同步复制功能的设置都在mysql的设置文件中体现。

mysql的配置文件(windows 下为my.ini,Unix/Linux下为f)1、实施环境:操作系统:2台linux AS 4[up3]mysql:mysql-4.1.15.tar.gzSvrA ip:192.168.1.10SvrB ip:192.168.1.112、配置方法Demo 1:主从模式[Master->Slave]:A->B=====step 1:分别在SvrA、SvrB上配置同步DB及Account=====Step A:SvrA上配置1.增加一个用户最为同步的用户帐号:GRANT FILE ON *.* TO er@'192.168.1.11'IDENTIFIED BY ‗rsync.mysql‘;2.增加一个数据库作为同步数据库:create database backup;Step B:SvrB上配置1.增加一个用户最为同步的用户帐号:GRANT FILE ON *.* TO er@'192.168.1.10'IDENTIFIED BY ‗rsync.mysql‘;2.增加一个数据库作为同步数据库:create database backup;====step 2:配置Master、Slave参数======主从模式:A->B即SvrA为master ,SvrB为slave1、修改SvrA 中mysql的f文件。

相关主题