首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用选项--single-transaction将MYSQLDUMP转换为CSV文件

问使用选项--single-transaction将MYSQLDUMP转换为CSV文件
EN

Stack Overflow用户
提问于 2014-02-11 18:31:06
回答 2查看 456关注 0票数 0

我的数据库中有一个非常大的表,我想备份并复制到另一个从服务器。

我认为最好方法是将表的数据导出到csv文件,然后通过sqlimport命令将这些数据导入到从服务器(它的运行速度比mysql快)

所以我的问题是,当数据库正在运行时,我如何将表的数据导出到csv文件?是否可以使用mysqldump激活选项--single-transaction?

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2014-02-11 18:59:40

下面是一个转储表并将其导出为csv的示例:

代码语言:javascript
复制
select * from product where datecreated between '2013-08-01' and '2013-11-11' order by datecreated desc     INTO OUTFILE '/tmp/xmas2.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';

然后导航到您的tmp目录并打开csv。

沃特罗尼

票数 0
EN

Stack Overflow用户

发布于 2014-02-12 10:48:03

在您的从属主机上创建表。

从您的从属服务器上的shell:

#nohup mysqldump -h“主服务器的ip或主机”-uuser -p "DB_NAME“"TABLE_NAME”| mysql -user=user-password=password "name_of_your_database“&

如果您正在尝试主从复制。

1.-将生产服务器配置为主服务器

A)在mysqld节上编辑/etc/mysql/my.cnf:

server-id=1

binlog-format =混合

log-bin=mysql-bin

datadir=/var/lib/mysql

innodb_flush_log_at_trx_commit=1

sync_binlog=1

B)重启服务器

C)创建用户replicant@slavehost/ip:port;

GRANT REPLICATION SLAVE ON。到replicant@slavehost/ip:由‘pass’标识的端口;

2.-将Mysql数据库备份到binlog位置的备份文件backupserver.create中。

nohup mysqldump主数据表--跳过-锁-表--单事务--刷新-日志--十六进制-uroot - -p =2 -A > dump_DBNAME .sql

3.-保存MASTER_LOG_FILE和MASTER_LOG_POS

#head dump_DBNAME .sql | grep "MASTER_LOG_FILE“> MASTER_LOG_FILE_DBNAME .sql

#head dump_DBNAME .sql | grep "MASTER_LOG_POS“> MASTER_LOG_POS_DBNAME .sql

4.-配置从服务器

编辑/etc/mysql/my.cnf

server-id = 10

binlog-format =混合

log_bin = mysql-bin

relay-log = mysql-relay-bin

日志-从属-更新=1

只读=1

5.-将备份恢复到备机:

选项1:压缩de dump文件gzip dump_DBNAME .sql并使用FTP传输或通过电子邮件发送。

然后从从属服务器恢复备份

#gunzip dump_DBNAME .sql.gz

mysqldump -hORIGINALHOST -uUSERNAME -p < dump_DBNAME .sql

选项2:从主服务器直接备份到从服务器

nohup mysql -mysqldump -hslavehost -uUSERNAME -p dump_DBNAME .sql < dump_DBNAME .sql &

6.-配置从服务器

编辑/etc/mysql/my.cnf

server-id = 10

binlog-format =混合

log_bin = mysql-bin

relay-log = mysql-relay-bin

日志-从属-更新=1

只读=1

启动从服务器

修改MASTER为MASTER_HOST='master-server-ip',MASTER_USER='replicant',MASTER_PASSWORD='slave-server-password',MASTER_ log _FILE='value log file',MASTER_LOG_POS='value log pos';

10.-启动并查看从机的状态

启动SLAVE;

显示从属状态\G

此时,我们在Slave server中拥有原始服务器的副本

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21699291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档