mysqldump

how to back up and restore a mysql database

霸气de小男生 提交于 2019-12-01 16:17:41
MySQL dump 使用mysqldump command,这条命令连接数据库,然后创建一个SQL dump 文件。这个dump文件包含了重新建库的所需SQL语句。正确的语法是这样的: $ mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]; uname: 数据库连接用户名 pass: 数据库连接密码 dbname: 要备份的库 backupfile.sql: 备份的文件名 –opt: mysqldump option 例子: $ mysqldump -u root -p Tutorials > tut_backup.sql; 当然你也可以指定备份的表 $ mysqldump -u root -p Tutorials php_tutorials asp_tutorials > tut_backup.sql; 有些情况下,可能需要一次性dump多个数据库,在这种情况下,你可以使用 ‘–database’ option,后面跟上你要dump的数据库列表,数据库名之间使用空格隔开: $ mysqldump -u root -p --database Tutorials Articles Comments > content_backup.sql; 如果一次性dump数据库服务器中的所有库,你可以使用 ‘–all

mysql数据导入导出

大城市里の小女人 提交于 2019-12-01 13:03:06
mysqldump工具 : 不适合大数据备份 备份所有数据库 mysqldump -u root -p > all_databases.sql 备份指定数据库 mysqldump -u root -p --databases lalala > lalala_database.sql 备份指定的多个数据库: mysqldump -u root -p --databases db1 db2 db3 > bak.sql 备份mysql数据库下的user表: mysqldump -u root -p mysql user > user_table 数据还原: mysql -u root -p < all_databases.sql mysql -u root -p mysql < user_table  注意: 这里需要指定数据库   来源: https://www.cnblogs.com/zhangjian0092/p/11687535.html

解决MySQL Workbench导出低版本MySQL时报错Unknown table ‘column_statistics’ in information_schema的问题

我们两清 提交于 2019-12-01 12:59:38
在使用高版本MySQL Workbench或MySQL 8.0+版本提供的mysqldump.exe(实际高版本的MySQL Workbench使用的也是高版本的mysqldump.exe)来导出低于8.0版本的MySQL数据库时,会出现Unknown table ‘column_statistics’ in information_schema的错误. 解决方式是创建一个如下内容的文件mysqldump.cmd: @echo off "D:\Program Files\MySQL\MySQL Workbench 8.0 CE\mysqldump.exe" %* --column-statistics=0    然后在MySQL Workbench中通过 Edit->Preferences->Administration ,将mysqldump工具的路径指向mysqldump.cmd: 原谅地址: http://www.meilongkui.com/archives/1142 来源: https://www.cnblogs.com/leohe/p/11687346.html

MySQL 数据备份与同步

泪湿孤枕 提交于 2019-12-01 12:24:35
转自:https://www.cnblogs.com/martinjinyu/articles/3750422.html 前段时间使用MySQL作为数据存储做了一个小项目。项目上线运行了几十天之后,数据已经越来越多,达到了100多M。用mysqldump每天备份全量数据然后传输到另外一台机器上这种方式进行数据备份,久而久之越来越慢。于是开始研究如何利用mysql的主 从同步功能实现自动备份。如果实现自动备份,主从服务器之间只需要在有数据更新时同步一点增量数据, 不会在备份时占用大量的CPU和内网的网络带宽资源了。介绍主从同步之前,还是先从基础的mysqldump备份开始讲起。 mysqldump mysqldump是mysql数据库提供的一个数据备份工具。顾名思义,mysqldump可以把mysql数据库导出成sql语句文件,并保存到磁盘上。 mysqldump 命令产生的.sql文件包含一系列SQL INSERT语句,可以用来进行数据恢复。 假定我们在星期日下午1点进行了备份,此时负荷较低。下面的命令可以完全备份所有数据库中的所有表: shell> mysqldump --single-transaction --all-databases > backup_sunday_1_PM.sql 使用mysqldump进行数据备份,至少有两个问题: 1 mysqldump运行时

mysql多种备份与恢复方式一

旧时模样 提交于 2019-12-01 09:14:22
基于mysql社区版5.7,严重声明:本文中图方便直接写入了-p数据库密码,在生产环境中如果指定了一定要使用history -C清空历史命令记录哦,所有博客作者原创纯手打,转载一定要注明本博客链接,感谢! 通过mysqldump方式进行备份和恢复 物理备份:拷贝mysql下的数据目录将其备份即为物理备份。 逻辑备份:使用mysqldump进行备份可以进行逻辑备份。 完全备份:备份所有数据。 增量备份:备份上次备份后,所有新产生的数据。 差异备份:备份完全备份后,所有产生的数据。 mysqldump -uroot -ppassword 库名 > /目录/备份文件名.sql #使用mysqldump逻辑备份时会自动锁表,导致数据无法写入。正好可以使用这一特性,组合--flush-logs刷新binlog日志,这样 #可以使得备份完成后刷新日志,对日志进行断点。可以在出现故障的第一时间使用备份后开始的binlog进行恢复,可以提升一部分效率。 备份时库名表示方式: * --all-databases 或 -A //备份所有库 * 数据库名 //备份单个库 * 数据库名 表名 //单张表 * -B 数据库1 数据库2 //多个库 mysql -uroot -ppassword [库名] < 目录/xxx.sql 通过binlog日志进行恢复 ​ binlog日志也称作二进制日志

mysql 完整备份和恢复

ぃ、小莉子 提交于 2019-12-01 08:03:57
一、MySQL完整备份操作 1、直接打包数据库文件夹 创建数据库auth: MariaDB [(none)]> create database auth; Query OK, 1 row affected (0.00 sec) 进入数据库: MariaDB [(none)]> use auth Database changed 创建数据表: MariaDB [auth]> create table user(name char(10)not null,ID int(48)); Query OK, 0 rows affected (0.01 sec) 插入数据信息: MariaDB [auth]> insert into user values('crushlinux','123'); Query OK, 1 row affected (0.01 sec) 查看数据信息: MariaDB [auth]> select * from user; +------------+------+ | name | ID | +------------+------+ | crushlinux | 123 | +------------+------+ 1 row in set (0.00 sec) 对它进行备份 先退出MySQL停库 [root@localhost ~]# systemctl

mysql 命令行导入导出.sql文件

你说的曾经没有我的故事 提交于 2019-12-01 07:25:45
mysql 命令行导入导出.sql文件 window下 1.导出整个数据库1765243235 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u dbuser -p dbname users> dbname_users.sql 3.导出一个数据库结构 mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 常用source 命令 进入mysql数据库控制台,如 mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source d:/dbname.sql 1. 导入数据到数据库 mysql -uroot -D数据库名 1. 导入数据到数据库中得某个表 mysql -uroot -D数据库名 表名 D:\APMServ5.2.6\MySQL5.1\bin>mysqldump -u

MySQL复制从库建立-mysqldump方式

我们两清 提交于 2019-12-01 07:20:29
环境准备: master:192.168.0.106:3306 slave:192.168.0.105:3306 主和从都必须配置有唯一的ID(server_id:建议ip最后一组+MySQL端口号,例如:1063306,1053306) 采用gtid模式复制,需要配置mysqld开启以下两个参数 1 gtid_mode=ON 2 enforce-gtid-consistency=ON 操作步骤: 1、在master创建用于复制的账号 1 mysql> CREATE USER 'repl'@'192.168.0.%' IDENTIFIED BY 'repl'; 2 mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%'; 2、mysqldump备份master数据库 1 mysqldump -S /tmp/mysql3306.sock -p --master-data=2 --single-transaction -A |gzip >3306-`date +%F`.tar.gz 3、slave上还原master的备份 1 gunzip < 3306-2019-10-13.sql.gz | mysql -S /tmp/mysql3306.sock -p 提示:ERROR 3546 (HY000) at line 26

mysqldump参数大全

自古美人都是妖i 提交于 2019-12-01 05:03:58
1、 --all-databases, -A //导出全部数据库。 #mysqldump -uroot -p --all-databases>outfile.sql #mysqldump -uroot -p -A>outfile.sql //等同于上句 2、 --all-tablespaces, -Y //导出全部表空间。 #mysqldump -uroot -p --all-databases --all-tablespaces>outfile.sql #mysqldump -uroot -p –A -Y>outfile.sql //等同于上句 3、 --no-tablespaces, -y //不导出任何表空间信息。 #mysqldump -uroot -p --all-databases --no-tablespaces #mysqldump -uroot -p --A –y>outfile.sql //等同于上句 4、 --add-drop-database //每个数据库创建之前添加drop数据库语句。 mysqldump -uroot -p --all-databases --add-drop-database 5、 --add-drop-table 每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)

MySQL学习大全

喜夏-厌秋 提交于 2019-12-01 04:37:51
1 登录数据库 格式: mysql -h主机地址 -u用户名 -p用户密码–P端口 –D数据库–e “SQL 内容” >mysql -uroot -p 数据库名称 2 修改密码 mysqladmin -u用户名 -p旧密码 password 新密码 Mysqladmin -uroot -password test1 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 例2:再将root的密码改为test1。 mysqladmin-uroot -ptest1 password test2 3 添加用户 格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码” 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令: grant select,insert,update,deleteon *.* to test2@localhost identified by\"abc\"; 如果你不想test2有密码,可以再打一个命令将密码消掉。 grantselect,insert,update,delete on mydb.* to test2@localhostidentified by \"\"; 4 创建数据库