MySQL 8 拷贝MySQL数据库到另一台机器
通过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数据库到另一台机器的更多相关文章
- mysql迁移-----拷贝mysql目录/load data/mysqldump/into outfile
摘要:本文简单介绍了mysql的三种备份,并解答了有一些实际备份中会遇到的问题.备份恢复有三种(除了用从库做备份之外), 直接拷贝文件,load data 和 mysqldump命令.少量数据使用my ...
- 【SQL server 2012】复制数据库到另一台机器上
当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法. 下面详细描述具体步骤: 1. 打开SQL serve ...
- [oracle] DBLINK +同义词,实现本地数据库访问另一台机器的数据库
起因:订单表原来在90库上,后各种原因移到了40库上,需访问40库上的订单表.采用DBLINK+同义词方法: -- 1 在90机器上用GPSV4登录PLSQL,创建DBLINK,从本地数据库,连接到远 ...
- Mysql 利用拷贝data目录文件的方式迁移mysql数据库
Mysql 利用拷贝data目录文件的方式迁移mysql数据库 步骤如下: 1.首先要确定data目录 这个问题困扰了我很久,因为网上的帖子大部分只是说拷贝mysql数据库目录下的data文件夹中的数 ...
- CentOS 拷贝mysql数据库到新的硬盘报错了
服务器硬盘满了,加了一块,在目录 下新建了 mkdir /mysql cp -r /var/lib/mysql/* /mysql chown -R mysql:root /mysql 更改/etc/m ...
- MySQL 采用Xtrabackup对数据库进行全库备份
1,xtrabackup简介 关于数据库备份以及备份工具,参考:http://blog.itpub.net/26230597/viewspace-1460065/,这里来介绍xtrabackup已经如 ...
- 2020重新出发,MySql基础,MySql数据库备份与恢复
@ 目录 MySQL数据库备份与恢复 数据库为什么需要备份 MySQL备份类型 MySQL热备份及恢复 逻辑备份 mysqldump SELECT INTO-OUTFILE mydumper 裸文件备 ...
- Docker搭建mysql:5.7版本数据库
搭建MySQL: 1.启动测试mysql,拷贝容器内配置文件到宿主机 mkdr -P /server/docker/mysql/{data,conf} docker run -e MYSQL_ROOT ...
- 如何使用dos命令查看MySQL当前使用的数据库?
1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select database(); 如图:
随机推荐
- 白话 spring AOP
------------------------------------ 剩下的时间不多了,抓经做自己想做的吧 AOP: 专业术语叫做面向切面的编程 为什么要使用aop: 为了简化代码, 将相同代码抽 ...
- 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 ...
- React使用antd按需引入报错
引言 按照antd官网配置按需引入,还是出现一系列的报错: 原因 在网上搜了一下,大部分说是react-scripts以及react-app-rewired版本不兼容的问题,我果断把下载低版本 npm ...
- SQL Server 常用的数据类型
1. 字符串数据类型 char 此数据类型可存储1~8000个定长字符串,字符串长度在创建时指定:如未指定,默认为char(1).每个字符占用1byte存储空间. nchar ...
- 用上自己的线程池,实现自己的RPC框架
package github.com.AllenDuke.rpc.customer; import github.com.AllenDuke.rpc.netty.NettyClient; import ...
- Windows下SVN权限配置
Windows下SVN权限配置 按照前面的教程装完1.6.1版以后,当svnadmin create D;\svn创建仓库后,应该在仓库目录下的config目录有3个文件— auth ...
- WeChall_Prime Factory (Training, Math)
Your task is simple:Find the first two primes above 1 million, whose separate digit sums are also pr ...
- Codeforces_714_B
http://codeforces.com/problemset/problem/714/B 当不同大小整数有1.2个时,肯定成立,3个时,需要判断,大于等于4个,则肯定不成立. #include & ...
- Educational Codeforces Round 39 Editorial B(Euclid算法,连续-=与%=的效率)
You have two variables a and b. Consider the following sequence of actions performed with these vari ...
- MySQL关系型数据库基础操作
MySQL基础 一.MySQL常用数据类型 1.常用数值类型(INT,DOUBLE,FLOAT) ① int 或者 integer 类型: 大小(字节):4字节: 范围: (有符号: -2147483 ...