通过mysqldump生成包含SQL语句的文件,然后将其应用到目标机器的mysql客户端程序。

mysqldump --help 可以获取mysqldump选项以及用法。

如果源服务器上启用了GTID模式,在默认情况下,mysqldump生成的DUMP文件包含GTID信息。如果目标机器没有启用GTID会导致导入出现问题。可以通过--set-gtid-purged 选项做调整。

--set-gtid-purged 选项目前有四个可选值:ON, COMMENTED, OFF 和 AUTO

下面是一些用法,比如:

最简单(尽管不是最快速)的方式在两台机器之间传递数据如下:

mysqladmin -h 'other_hostname' create db_name

mysqldump db_name | mysql -h 'other_hostname' db_name

比如:

mysqldump -uroot -poracle --databases test | mysql -uroot -poracle -h192.168.1.150

如果是从远端数据库传递数据,而且网络比较慢的话,可以通过mysqldump工具提供的压缩选项做一些优化

mysqladmin create db_name

mysqldump -h 'other_hostname' --compress db_name | mysql db_name

比如:

mysqldump -uroot -poracle -h192.168.1.150 --compress --databases test | mysql -uroot -poracle

可以通过在源端,使用mysqldump工具生成DUMP文件,然后拷贝的目标端,再通过mysql客户端程序应用

mysqldump --quick db_name | gzip > db_name.gz

mysqladmin create db_name

gunzip < db_name.gz | mysql db_name

注:--quick 选项:不缓存mysqldump工具生成的query。比如:

mysqldump -uroot -poracle --quick --databases test | gzip > test.gz

scp test.gz root@192.168.1.150:~

gunzip < test.gz | mysql -uroot -poracle

通过mysqldump与mysqimport的组合,在处理大表的情况下,比单个的mysqldump更快一些

mkdir DUMPDIR

mysqldump --tab=DUMPDIR db_name

mysql  -e "create db_name"           # create database

cat DUMPDIR/*.sql | mysql db_name   # create tables in database

mysqlimport db_name DUMPDIR/*.txt   # load data into tables

比如:

cd /usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/data/

mkdir DUMPDIR

chown mysql:mysql DUMPDIR

mysqldump -uroot -poracle --tab=./DUMPDIR test

scp -r DUMPDIR/ root@192.168.1.150:/usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/data/

chown -R mysql:mysql /usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/data/DUMPDIR

mysql -uroot -poracle -e "create database test;"

cat DUMPDIR/*sql | mysql -uroot -poracle test

mysqlimport -uroot -poracle test DUMPDIR/*.txt

注:两端的服务器需要配置secure_file_priv 环境变量。

补充:

有时可能需要拷贝mysql schema,因为mysql schema中标授权表,如果没有数据库没有mysql schema前提下。在导入mysql schema,使用 mysqladmin flush-privileges 使得MySQL Server加载授权表信息。

MySQL 8 拷贝MySQL数据库到另一台机器的更多相关文章

  1. mysql迁移-----拷贝mysql目录/load data/mysqldump/into outfile

    摘要:本文简单介绍了mysql的三种备份,并解答了有一些实际备份中会遇到的问题.备份恢复有三种(除了用从库做备份之外), 直接拷贝文件,load data 和 mysqldump命令.少量数据使用my ...

  2. 【SQL server 2012】复制数据库到另一台机器上

    当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法. 下面详细描述具体步骤: 1. 打开SQL serve ...

  3. [oracle] DBLINK +同义词,实现本地数据库访问另一台机器的数据库

    起因:订单表原来在90库上,后各种原因移到了40库上,需访问40库上的订单表.采用DBLINK+同义词方法: -- 1 在90机器上用GPSV4登录PLSQL,创建DBLINK,从本地数据库,连接到远 ...

  4. Mysql 利用拷贝data目录文件的方式迁移mysql数据库

    Mysql 利用拷贝data目录文件的方式迁移mysql数据库 步骤如下: 1.首先要确定data目录 这个问题困扰了我很久,因为网上的帖子大部分只是说拷贝mysql数据库目录下的data文件夹中的数 ...

  5. CentOS 拷贝mysql数据库到新的硬盘报错了

    服务器硬盘满了,加了一块,在目录 下新建了 mkdir /mysql cp -r /var/lib/mysql/* /mysql chown -R mysql:root /mysql 更改/etc/m ...

  6. MySQL 采用Xtrabackup对数据库进行全库备份

    1,xtrabackup简介 关于数据库备份以及备份工具,参考:http://blog.itpub.net/26230597/viewspace-1460065/,这里来介绍xtrabackup已经如 ...

  7. 2020重新出发,MySql基础,MySql数据库备份与恢复

    @ 目录 MySQL数据库备份与恢复 数据库为什么需要备份 MySQL备份类型 MySQL热备份及恢复 逻辑备份 mysqldump SELECT INTO-OUTFILE mydumper 裸文件备 ...

  8. Docker搭建mysql:5.7版本数据库

    搭建MySQL: 1.启动测试mysql,拷贝容器内配置文件到宿主机 mkdr -P /server/docker/mysql/{data,conf} docker run -e MYSQL_ROOT ...

  9. 如何使用dos命令查看MySQL当前使用的数据库?

    1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select database(); 如图:

随机推荐

  1. 白话 spring AOP

    ------------------------------------ 剩下的时间不多了,抓经做自己想做的吧 AOP: 专业术语叫做面向切面的编程 为什么要使用aop: 为了简化代码, 将相同代码抽 ...

  2. Maven异常:Dynamic Web Module 3.0 requires Java 1.6 or newer.

    问题 我目前用的JDK 是java 1.8 ,搭建Maven项目的时候,设置Project facets后,出现来以下problem : Dynamic Web Module 3.0 requires ...

  3. React使用antd按需引入报错

    引言 按照antd官网配置按需引入,还是出现一系列的报错: 原因 在网上搜了一下,大部分说是react-scripts以及react-app-rewired版本不兼容的问题,我果断把下载低版本 npm ...

  4. SQL Server 常用的数据类型

    1. 字符串数据类型    char        此数据类型可存储1~8000个定长字符串,字符串长度在创建时指定:如未指定,默认为char(1).每个字符占用1byte存储空间.    nchar ...

  5. 用上自己的线程池,实现自己的RPC框架

    package github.com.AllenDuke.rpc.customer; import github.com.AllenDuke.rpc.netty.NettyClient; import ...

  6. Windows下SVN权限配置

    Windows下SVN权限配置          按照前面的教程装完1.6.1版以后,当svnadmin create D;\svn创建仓库后,应该在仓库目录下的config目录有3个文件— auth ...

  7. WeChall_Prime Factory (Training, Math)

    Your task is simple:Find the first two primes above 1 million, whose separate digit sums are also pr ...

  8. Codeforces_714_B

    http://codeforces.com/problemset/problem/714/B 当不同大小整数有1.2个时,肯定成立,3个时,需要判断,大于等于4个,则肯定不成立. #include & ...

  9. Educational Codeforces Round 39 Editorial B(Euclid算法,连续-=与%=的效率)

    You have two variables a and b. Consider the following sequence of actions performed with these vari ...

  10. MySQL关系型数据库基础操作

    MySQL基础 一.MySQL常用数据类型 1.常用数值类型(INT,DOUBLE,FLOAT) ① int 或者 integer 类型: 大小(字节):4字节: 范围: (有符号: -2147483 ...