mysqldump备份和还原命令用法详解

一.mysql备份命令:
    1.备份单个数据库
        mysql> system mysqldump -uroot -pmybaby99 wordpress >/tmp/wordpress.sql;        
        mysql> system ls -l /tmp/wordpress.sql;
        -rw-r--r-- 1 root root 292760 Oct 25 18:43 /tmp/wordpress.sql
    2.压缩备份:
        [[email protected] mysql]# mysqldump -uroot -pmybaby99 wordpress|gzip > /server/bak/wordpress.sql.gz;
        [[email protected] mysql]# ll -l /server/bak/wordpress.sql.gz
        -rw-r--r-- 1 root root 77219 Oct 25 21:21    /server/bak/wordpress.sql.gz        #生产环境常用,文本压缩率高
    3.导出时.加入默认字符集.方便查看SQL文件时.不会乱码.要是不加参数,并不会出导入到数据库时乱码
    [[email protected] mysql]# mysqldump -uroot -pmybaby99 --default-character-set=utf8 wordpress|gzip > /server/bak/wordpress.sql.utf8.gz;
        [[email protected] mysql]# ll /server/bak/
        total 452
        -rw-r--r-- 1 root root 292760 Oct 25 21:34 wordpress.sql
        -rw-r--r-- 1 root root  77219 Oct 25 21:20 wordpress.sql.gz
        -rw-r--r-- 1 root root  77216 Oct 25 21:36 wordpress.sql.utf8.gz
        [[email protected] mysql]# mysqldump -uroot -pmybaby99 --default-character-set=gbk wordpress|gzip > /server/bak/wordpress.sql.gbk.gz; [[email protected] mysql]# ll /server/bak/
        total 532
        -rw-r--r-- 1 root root 292760 Oct 25 21:34 wordpress.sql
        -rw-r--r-- 1 root root  76938 Oct 25 21:37 wordpress.sql.gbk.gz
        -rw-r--r-- 1 root root  77219 Oct 25 21:20 wordpress.sql.gz
        -rw-r--r-- 1 root root  77216 Oct 25 21:36 wordpress.sql.utf8.gz
    4.同时备份多个数据库,生产环境中常用
        [[email protected] mysql]# mysql -uroot -pmybaby99 -B wordpress test |gzip > /server/bak/word_test.sql.gz
        [[email protected] mysql]# ll -l /server/bak/word_test.sql.gz
        -rw-r--r-- 1 root root 3424 Oct 25 21:53 /server/bak/word_test.sql.gz
    5.脚本中常用的 -e参数举例
        [[email protected] mysql]# mysql -uroot -pmybaby99 -e "show databases;"
        +--------------------+
        | Database           |
        +--------------------+
        | information_schema |
        | mysql              |
        | test               |
        | wordpress          |
        +--------------------+
    6.导出所有的库用-A参数
        [[email protected] mysql]# mysqldump -uroot -pmybaby99 -A |gzip >/server/bak/all.sql.gz    
        -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
        [[email protected] mysql]# ll /server/bak/all.sql.gz
        -rw-r--r-- 1 root root 297734 Oct 25 21:59 /server/bak/all.sql.gz
    7.备份单个表
        [[email protected] ~]# mysqldump -uroot  -pmybaby99 wordpress wp_links > /server/bak/wordpress.table.sql        
        [[email protected] ~]# ll -l /server/bak/
        total 836
        -rw-r--r-- 1 root root 297734 Oct 25 21:59 all.sql.gz
        -rw-r--r-- 1 root root 292760 Oct 25 21:34 wordpress.sql
        -rw-r--r-- 1 root root  76938 Oct 25 21:37 wordpress.sql.gbk.gz
        -rw-r--r-- 1 root root  77219 Oct 25 21:20 wordpress.sql.gz
        -rw-r--r-- 1 root root  77216 Oct 25 21:36 wordpress.sql.utf8.gz
        -rw-r--r-- 1 root root   2479 Oct 26 14:21 wordpress.table.sql
        -rw-r--r-- 1 root root   3424 Oct 25 21:53 word_test.sql.g
    8.备份多个表
        [[email protected] ~]# mysqldump -uroot  -pmybaby99 wordpress wp_links wp_options > /server/bak/wordpress.tables.sql
        [[email protected] ~]# ll -l /server/bak/
        total 1112
        -rw-r--r-- 1 root root 297734 Oct 25 21:59 all.sql.gz
        -rw-r--r-- 1 root root 292760 Oct 25 21:34 wordpress.sql
        -rw-r--r-- 1 root root  76938 Oct 25 21:37 wordpress.sql.gbk.gz
        -rw-r--r-- 1 root root  77219 Oct 25 21:20 wordpress.sql.gz
        -rw-r--r-- 1 root root  77216 Oct 25 21:36 wordpress.sql.utf8.gz
        -rw-r--r-- 1 root root   2479 Oct 26 14:21 wordpress.table.sql
        -rw-r--r-- 1 root root 275194 Oct 26 14:23 wordpress.tables.sql
        -rw-r--r-- 1 root root   3424 Oct 25 21:53 word_test.sql.gz
    9.仅备份表结构,用-d参数据
        [[email protected] ~]# mysqldump -uroot  -pmybaby99 -d wordpress wp_links wp_options > /server/bak/wordpress.tables.desc.sql
        [[email protected] ~]# egrep -v "^$|\*|--" /server/bak/wordpress.tables.desc.sql
        DROP TABLE IF EXISTS `wp_links`;
        CREATE TABLE `wp_links` (
          `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
          `link_url` varchar(255) NOT NULL DEFAULT ‘‘,
          `link_name` varchar(255) NOT NULL DEFAULT ‘‘,
          `link_image` varchar(255) NOT NULL DEFAULT ‘‘,
          `link_target` varchar(25) NOT NULL DEFAULT ‘‘,
          `link_description` varchar(255) NOT NULL DEFAULT ‘‘,
          `link_visible` varchar(20) NOT NULL DEFAULT ‘Y‘,
          `link_owner` bigint(20) unsigned NOT NULL DEFAULT ‘1‘,
          `link_rating` int(11) NOT NULL DEFAULT ‘0‘,
          `link_updated` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00‘,
          `link_rel` varchar(255) NOT NULL DEFAULT ‘‘,
          `link_notes` mediumtext NOT NULL,
          `link_rss` varchar(255) NOT NULL DEFAULT ‘‘,
          PRIMARY KEY (`link_id`),
          KEY `link_visible` (`link_visible`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
        DROP TABLE IF EXISTS `wp_options`;
        CREATE TABLE `wp_options` (
          `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
          `option_name` varchar(64) NOT NULL DEFAULT ‘‘,
          `option_value` longtext NOT NULL,
          `autoload` varchar(20) NOT NULL DEFAULT ‘yes‘,
          PRIMARY KEY (`option_id`),
          UNIQUE KEY `option_name` (`option_name`)
        ) ENGINE=MyISAM AUTO_INCREMENT=148 DEFAULT CHARSET=utf8;
二.mysql数据库还原:
    1.还原单个数据库(生产环境标准用法),也可能不用进入控制台,直接在命令行还原.下行是登陆mysql控制器的演示
        mysql> system mysql -uroot -pmybaby99 test < /tmp/wordpress.sql;
        mysql> show tables;
        +-----------------------+
        | Tables_in_test        |
        +-----------------------+
        | wp_commentmeta        |
        | wp_comments           |
        | wp_links              |
        | wp_options            |
        | wp_postmeta           |
        | wp_posts              |
        | wp_term_relationships |
        | wp_term_taxonomy      |
        | wp_terms              |
        | wp_usermeta           |
        | wp_users              |
        +-----------------------+
        11 rows in set (0.01 sec
    2.用source命令恢复数据库,前提得进入mysql控制台
        mysql> mysql> source /server/bak/wordpress.sql
            -> Query OK, 0 rows affected (0.00 sec)
    3.恢复数据库时.要是以-B参数备份数据库.可以不用指定数据库
        mysql -uroot -pmybaby99 > /server/bak/xxx.sql
三.mysql带e参考实现非交互式对话
    1.例,查看库中的一个表
        [[email protected] ~]# mysql -uroot -pmybaby99 -e ‘set names utf8;use wordpress;select * from wp_users;‘
    2.查看mysql状态
        [[email protected] ~]# mysql -uroot -pmybaby99 -e "show processlist;"
        +----+------+-----------+------+---------+------+-------+------------------+
        | Id | User | Host      | db   | Command | Time | State | Info             |
        +----+------+-----------+------+---------+------+-------+------------------+
        | 24 | root | localhost | NULL | Query   |    0 | NULL  | show processlist |
        +----+------+-----------+------+---------+------+-------+------------------+
    3.查看mysql变量
        [[email protected] ~]# mysql -uroot -pmybaby99 -e "show variables;"|tail -5
        version_comment Source distribution
        version_compile_machine x86_64
        version_compile_os      unknown-linux-gnu
        wait_timeout    28800
        warning_count   0
    4.查看mysql全局状态
        [[email protected] ~]# mysql -uroot -pmybaby99 -e "show global status;"|tail -5         
        Threads_connected       1
        Threads_created 26
        Threads_running 1
        Uptime  3225
        Uptime_since_flush_status       3225

时间: 2024-11-04 22:18:15

mysqldump备份和还原命令用法详解的相关文章

linux wget 命令用法详解(附实例说明)

Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器.如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器.这样既浪费时间又浪费精力,那不没办法的事.而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步.wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来

【转】 wget 命令用法详解

wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点:(1)支持断点下传功能:这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了:(2)同时支持FTP和HTTP下载方式:尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件:(3)支持代理服务器:对安全强度很高的系统而言,一般不会将自己的系统直接暴

install 命令用法详解

install 命令用法详解 http://man.linuxde.net/install install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点. 但是,install允许你控制目标文件的属性. install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录  make install 语法 install [OPTION]... [-T] SOURCE DEST install [O

Tar命令用法详解

tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的参数是根据需要在压缩或解压档案时可选的. -z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名. # tar -cf all.tar *.jp

[转]Mysql导入导出工具Mysqldump和Source命令用法详解

Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式(txt)的SQL文件,通过Mysql Source命令能够将SQL文件导入Mysql数据库中,下面通过Mysql导入导出SQL实例详解Mysqldump和Source命令的用法. 在PHP网站开发中,时常遇到Mysql数据库备份或数据库迁移工作,这时Mysql怎么导入导出数据库中的数据就非常关键,M

Mysql导入导出工具Mysqldump和Source命令用法详解

mysqldump -u 用户名 -p [--opt] DATABASENAME [Table] >导出SQL文件名 例子: mysqldump -h host -u user -p --opt databasename [table] > /home/user/databasename.sql 使用Mysqldump导出数据表结构 mysqldump -u root -p --no-data mysql user >D:\PHPWeb\sqlbackup\mysql_user.sql

Ansible系列命令用法详解与使用

Ansible系列命令用法与使用 在上一个文章中已经完成了Ansible的安装,这片文章主要的用来记录Ansible一些命令的用法详解及其使用场景.好了非话不多说,'上菜吧'. Ansible命令行执行方式有Ad-hoc.Ansible-playbook两种方式.Web化执行方式其官方提供了付费产品Tower(10台以内免费),个人的话可以基于API开发类似的Web化产品.此篇文章主要针对于Ad-hoc.Ansible-playbook两种方式做详细介绍. 什么是Ad-hoc.Ansible-p

NTSD命令用法详解

用法为打开cmd 后输入以下命令就可以结束进程: 方法一:利用进程的PID结束进程 命令格式:ntsd -c q -p pid 命令范例: ntsd -c q -p 1332 (结束PID为1332的explorer.exe进程) 范例详解:explorer.exe的pid为1332,但是如何获取进程的pid呢?在CMD下输入TASKLIST就可以获取当前任务管理器所有进程的PID(并不是所有的exploer.exe进程都是1332) 方法二:利用进程名结束进程 命令格式:ntsd -c q -

wget 命令用法详解

wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点:(1)支持断点下传功能:这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了:(2)同时支持FTP和HTTP下载方式:尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件:(3)支持代理服务器:对安全强度很高的系统而言,一般不会将自己的系统直接暴