位置: 编程技术 - 正文
推荐整理分享MySQL的备份工具mysqldump的基础使用命令总结(mysql备份方式有哪些),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql数据备份工具,mysql中进行备份的命令是什么,mysql数据库备份可以使用哪些工具,mysql数据库备份可以使用哪些工具,mysql备份方式有哪些,mysql常用备份方案,mysql备份数据,mysql备份数据,内容如对您有帮助,希望把文章链接给更多的朋友!
MySQL数据库的备份工具有很多,不过这里介绍的是一个小巧好用的mysqldump工具,位于数据库目录下bin/mysqldump.exe.这几天用phpMyAdmin备份数据库的时候出现乱码,反复在本地跟远程的Dreamhost空间上测试了数据库,但是还是导出数据库会出现乱码,应该是phpMyAdmin出现的问题,数据库本身没有问题.扯远咯,呵呵.我Google到的关于mysqldump工具的相关用法. 如果主机主机支持 Shell 的话,可以 SSH 登陆主机,执行如下的命令实现备份与恢复,适合在Dreamhost,Bluehost等空间上.
导出数据库:
导入数据库:
HOSTNAME 是数据库主机名,USERNAME 和 DBNAME 分别是登陆 ID 和数据库名,导出的数据库存放在 exported_db.sql 文件里。 巧克力工厂(Beta5):Wordpress 超大数据库的导入.
使用mysqldump:(mysqldump命令位于mysql/bin/目录中) //要专到mysql/bin/目录中才能使用,直接cmd运行命令窗口使用不了,专到数据库所在的mysql/bin/目录中使用.
基本用法是:
如果你不给定任何表,整个数据库将被导出。
通过执行mysqldump ?help,你能得到你mysqldump的版本支持的选项表。
注意,如果你运行mysqldump没有?quick或?opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。
几个常用用例:
1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名
这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中.
2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
3.导出一个数据库结构
-d 没有数据 ?add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库常用source 命令进入mysql数据库控制台,如mysql -u root -p
如果您像装载整个数据库Meet_A_Geek的内容到一个文件中,可以使用下面的命令:
这个语句也允许您指定一个表进行dump(备份/导出/装载)。如果您只是希望把数据库Meet_A_Geek中的表Orders中的整个内容导出到一个文件,可以使用下面的命令:
这个非常的灵活,您甚至可以使用WHERE从句来选择您需要的记录导出到文件中。要达到这样的目的,可以使用类似于下面的命令:
mysqldump工具有大量的选项,部分选项如下表:
选项/Option 作用/Action Performed
--add-drop-table
这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除
--add-locks
这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作 -c or - complete_insert
这个选项使得mysqldump命令给每一个产生INSERT语句加上列(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。
--delayed-insert 在INSERT命令中加入DELAY选项
-F or -flush-logs 使用这个选项,在执行导出之前将会刷新MySQL服务器的log.
-f or -force 使用这个选项,即使有错误发生,仍然继续导出
--full 这个选项把附加信息也加到CREATE TABLE的语句中
-l or -lock-tables 使用这个选项,导出表的时候服务器将会给表加锁。
-t or -no-create- info
这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。 -d or -no-data 这个选项使的mysqldump命令不创建INSERT语句。
在您只需要DDL语句时,可以使用这个选项。
--opt 此选项将打开所有会提高文件导出速度和创造一个可以更快导入的文件的选项。
-q or -quick 这个选项使得MySQL不会把整个导出的内容读入内存再执行导出,而是在读到的时候就写入导文件中。
-T path or -tab = path 这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命名为table_name.txt.路径名是存放这两个文件的目录。目录必须已经存在,并且命令的使用者有对文件的特权。 -w "WHERE Clause" or -where = "Where clause "
如前面所讲的,您可以使用这一选项来过筛选将要放到 导出文件的数据。 假定您需要为一个表单中要用到的帐号建立一个文件,经理要看今年(年)所有的订单(Orders),它们并不对DDL感兴趣,并且需要文件有逗号分隔,因为这样就很容易导入到Excel中。 为了完成这个人物,您可以使用下面的句子:
这将会得到您想要的结果。 schema:模式
The set of statements, expressed in data definition language, that completely describe the structure of a data base.
一组以数据定义语言来表达的语句集,该语句集完整地描述了数据库的结构。 SELECT INTO OUTFILE :
如果您觉得mysqldump工具不够酷,就使用SELECT INTO OUTFILE吧, MySQL同样提供一个跟LOAD DATA INFILE命令有相反作用的命令,这就是SELECT INTO OUTFILE 命令,这两个命令有很多的相似之处。首先,它们有所有的选项几乎相同。现在您需要完成前面用mysqldump完成的功能,可以依照下面的步骤进行操作: 1. 确保mysqld进程(服务)已经在运行
2. cd /usr/local/mysql
3. bin/mysqladmin ping ;// 如果这个句子通不过,可以用这个:mysqladmin -u root -p ping
mysqladmin ping用于检测mysqld的状态,is alive说明正在运行,出错则可能需要用户名和密码。
4. 启动MySQL 监听程序.
5. bin/mysql ?p Meet_A_Geek;// 进入mysql命令行,并且打开数据库Meet_A_Geek,需要输入密码
6. 在命令行中,输入一下命令:
在你按了Return(回车)之后,文件就创建了。这个句子就像一个规则的SELECT语句,只是把想屏幕的输出重定向到了文件中。这意味这您可以使用JOIN来实现多表的高级查询。这个特点也可以被用作一个报表产生器。 比方说,您可以组合这一章中讨论的方法来产生一个非常有趣的查询,试试这个: 在mysql目录建立一个名为Report_G.rpt 的文本文件,加入下面的行:然后确认 mysql进程在运行,并且您在mysql目录中, 输入下面的命令:
bin/mysql < Report_G.rpt检查您命名作为输出的文件,这个文件将会包含所有您在Customers表中输入的顾客的姓。 如您所见,您可以使用今天学到的导入/导出(import/export)的方法来帮助得到报表。
日常收集整理常见的mysql sql技巧 废话不多说了,直接给大家贴代码了。1,数字辅助表//创建表createtabletest(idintunsignednotnullprimarykey);delimiter//createprocedurepnum(cntintunsigned)begindeclareiintunsignedd
MySQL如何清空慢查询文件 一、概述本章主要写当慢查询文件很大的时候怎样在线生成一个新的慢查询文件。测试环境:mysql5.6.二、步骤配置慢查询默认的my.cnf文件在/etc/目录下v
Mysql 数据库死锁过程分析(select for update) 近期有一个业务需求,多台机器需要同时从Mysql一个表里查询数据并做后续业务逻辑,为了防止多台机器同时拿到一样的数据,每台机器需要在获取时锁
标签: mysql备份方式有哪些
本文链接地址:https://www.jiuchutong.com/biancheng/312394.html 转载请保留说明!友情链接: 武汉网站建设