您的位置:新葡亰496net > 网络数据库 > 新葡亰496net:linux服务器下mysql备份恢复命令介绍

新葡亰496net:linux服务器下mysql备份恢复命令介绍

发布时间:2019-12-10 14:08编辑:网络数据库浏览(90)

    建数据库:CREATE DATABASE database_name;

    设mysql安装在c:盘,mysql数据库的用户名是root,密码是123456,数据库名是database_name,在d:盘根目录下面存放备份数据库,备份数据库名字为backup20070713.sql(20070713.sql为备份日期)

    windows/linux服务器下mysql备份恢复命令介绍

    微软内部最受欢迎的编辑器是什么么?还在用Ctrl f勾选"正则表达式"进行review替换么?  你真的out了   还在用代码提示来安慰自己的么?你的智商真的下降得不行了。。 什么是程序员最后的武器  vc6?vim?emacs?editplus?eclipse?

    显示数据库列表:show databases;

    备份数据库:

     

    笑而不语  没有最好 只有最强

    使其成为当前操作数据库:use 数据库名;

    mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。

    在windows服务器下mysql备份恢复我们经常会使用mysqldump命令来完成这些操作,下面我来详细的总结一下mysqldump备份恢复命令的用法介绍。

    新葡亰496net 1

    删除数据库语法:DROP DATABSE 数据库名;

     代码如下 复制代码
    mysqldump -uroot -p123456 database_name>d:/backup20070713.sql

     

    VIM基本命令

    创建表:CREATE TABLE 表名( 属性名 数据类型 [完整性约束条件], 属性名 数据类型 [完整性约束条件], … 属性名 数据类型 );

    上面windows/下面为linux

    设mysql安装在c:盘,mysql数据库的用户名是root,密码是123456,数据库名是database_name,在d:盘根目录下面存放备份数据库,备份数据库名字为backup20070713.sql(20070713.sql为备份日期)

    1. VI常用实用命令学习    
    2. 目标:[通过此练习学习通够利用VI编辑器,对系统配置文件进行修改或编写简单的脚本程序]  
    3.   
    4. 命令行或命令模式:在最后一行没有显示--INSERT--或--REPLACE--字样的时候。  
    5.   
    6. #:   是指常用的命令  
    7.   
    8. 一般模式:光标移动  
    9. h 或 ->     光标向左移动一个字符  
    10. ------------------------------------------------------------  
    11. l 或 <-     光标向右移动一个字符  
    12. ------------------------------------------------------------  
    13. k 或 向上方向键    光标向上移动一个字符  
    14. ------------------------------------------------------------  
    15. j 或 向下方向键    光标向下移动一个字符  
    16. ------------------------------------------------------------  
    17. Ctrl f         #  屏幕向前翻动一页  
    18. --------------------------------------------------------  
    19. Ctrl b         #  屏幕向后翻动一页  
    20. --------------------------------------------------------  
    21. Ctrl d     屏幕向前翻动半页  
    22. --------------------------------------------------------  
    23. Ctrl u     屏幕向后翻动半页  
    24. --------------------------------------------------------  
    25.      光标移动到非空格符的下一列  
    26. ------------------------------------------------------------------  
    27. -     光标移动到非空格符的上一列  
    28. -------------------------------------------------------------------  
    29. n    按下数字键后再按空格键,光标会向右移动这一行的n个字符。  
    30.      (例如20,则光标会向右移动20个字符)  
    31. ----------------------------------------------------------------------------------------------  
    32. 0        #   (这是数字0)移动到这一行的第一个字符处  
    33. -----------------------------------------------------------------------------  
    34. $        #   移动到这一行的最后一个字符处  
    35. --------------------------------------------------------------------  
    36. H     光标移动到这个屏幕最上方的那一行  
    37. ------------------------------------------------------------------------  
    38. M     光标移动到这个屏幕中央的那一行  
    39. ----------------------------------------------------------------------  
    40. L     光标移动到这个屏幕最下方的那一行  
    41. ------------------------------------------------------------------------  
    42. G        #   移动到这个文件的最后一行  
    43. ----------------------------------------------------------------  
    44. nG     移动到这个文件的第n行。  
    45.      例如20G,则会移动到这个文件的第20行(可配合:set nu)  
    46. ----------------------------------------------------------------------------------------------  
    47. n       #   光标向下移动n行  
    48. -------------------------------------------------------  
    49.   
    50.   
    51. 一般模式:查找与替换  
    52.   
    53. /word        #   在光标之后查找一个名为word的字符串  
    54. --------------------------------------------------------------------------  
    55. ?word     在光标之前查找一个名为word的字符串  
    56. --------------------------------------------------------------------------  
    57. :n1,n2s/word1/word2/g      #   在第n1与n2行之间查找word1这个字符串,并将该字符串替换为word2  
    58. ----------------------------------------------------------------------------------------------------  
    59. :1,$s/word1/word2/g      #   从第一行到最后一行查找word1字符串,并将该字符串替换为word2  
    60. --------------------------------------------------------------------------------------------------  
    61. :1,$s/word1/word2/gc      #   从第一行到最后一行查找word1字符串,并将该字符串替换为word2,  
    62.      且在替换前显示提示符让用户确认(confirm)  
    63. ---------------------------------------------------------------------------------------------------  
    64.   
    65.   
    66. 一般模式:删除、复制与粘贴  
    67.   
    68. x,X        #   x为向后删除一个字符,X为向前删除一个字符  
    69. --------------------------------------------------------------------------------  
    70. nx     向后删除n个字符  
    71. -------------------------------------------------------  
    72. dd        #   删除光标所在的那一整行    
    73. --------------------------------------------------------------  
    74. ndd        #   删除光标所在列的向下n列,例如,20dd则是删除20列  
    75. ---------------------------------------------------------------------------------------  
    76. d1G     删除光标所在行到第一行的所有数据  
    77. ------------------------------------------------------------------------  
    78. dG     删除光标所在行到最后一行的所有数据  
    79. --------------------------------------------------------------------------  
    80. yy        #   复制光标所在行  
    81. ------------------------------------------------------  
    82. nyy        #   复制光标所在列的向下n列,例如,20yy则是复制20列  
    83. ---------------------------------------------------------------------------------------  
    84. y1G     复制光标所在列到第一列的所有数据  
    85. ------------------------------------------------------------------------  
    86. yG     复制光标所在列到最后一列的所有数据  
    87. --------------------------------------------------------------------------  
    88. p,P        #   p为复制的数据粘贴在光标下一行,P为粘贴在光标上一行  
    89. ------------------------------------------------------------------------------------------  
    90. J     将光标所在列与下一列的数据结合成一行  
    91. -----------------------------------------------------------------------------  
    92. u        #   恢复前一个动作  
    93. ------------------------------------------------------  
    94.   
    95.   
    96.   
    97. 编辑模式:  
    98.   
    99. i,I        #   插入:在当前光标所在处插入输入的文字,已存在的字符会向后退  
    100. --------------------------------------------------------------------------------------------------  
    101. a,A        #   添加:由当前光标所在处的下一个字符开始输入,已存在的字符会向后退  
    102. -------------------------------------------------------------------------------------------------------  
    103. o,O        #   插入新的一行:从光标所在处的下一行行首开始输入字符  
    104. ------------------------------------------------------------------------------------------  
    105. r,R        #   替换:r会替换光标所指的那一个字符;R会一直替换光标所指的文字,直到按下Esc为止  
    106. ---------------------------------------------------------------------------------------------------------------------  
    107. Esc        #   退出编辑模式,回到一般模式  
    108. ------------------------------------------------------------------  
    109.   
    110.   
    111. 命令行模式:  
    112.   
    113. :w        #   将编辑的数据写入硬盘文件中  
    114. ------------------------------------------------------------------  
    115. :w!     若文件属性为只读,强制写入该文件  
    116. ------------------------------------------------------------------------  
    117. :q        #   退出vi  
    118. ----------------------------------------------  
    119. q!     若曾修改过文件,又不想保存,使用!为强制退出不保存文件  
    120. ---------------------------------------------------------------------------------------------  
    121. :wq        #   保存后退出,若为:wq!,则为强制保存后退出  
    122. ---------------------------------------------------------------------------------  
    123. :w[filename]    将编辑数据保存为另一个文件(类似另存为新文档):x也是保存  
    124. ------------------------------------------------------------------------------------  
    125. :r[filename]    在编辑的数据中,读入另一个文件的数据,亦即将filename这个文件内容加到光标所在行的后面  
    126. ----------------------------------------------------------------------------------------------------------------------------  
    127. :set nu     显示行号,设定之后,会在每一行的前面显示该行的行号  
    128. ------------------------------------------------------------------------------------------  
    129. :set nonu    与set nu相反,为取消行号  
    130. ----------------------------------------------------------------  
    131. n1,n2w[filename]   将n1到n2的内容保存为filename这个文件  
    132. ----------------------------------------------------------------------------  
    133.   
    134. 练习:  
    135. 1.请在/root目录下建立一个名为supxmen的目录;  
    136. 2.进入supxmen目录中;  
    137. 3.将/etc/man.config复制到本目录下;  
    138. 4.使用vi开启本目录下的man.config文件;  
    139. 5.在vi中设定行号.  
    140. 6.移动到第63行,向右移动29个字符,请问您在双引号中看到的是什么目录?  
    141. 7.移到第一行,并且向下搜寻teTeX字符串,请问它在第几行?  
    142. 8.接下来,将50到100行之间的man改为MAN,要求是逐个查找修改,请问如何输入指令?  
    143. 9.修改完后,突然反悔,要全部复原,有哪些方法?  
    144. 10.复制51到60行这10行的内容,并且粘贴到最后一行之后;  
    145. 11.删除11到30行之间的20行内容;  
    146. 12.将这个文件另存为文件名为man.supxmen.config的文件;  
    147. 13.转到第29行,并且删除15个字符;  
    148. 14.请问目前的文件有多少行,多少字符?  
    149. 15.保存后退出.  
    150. 答案是:134 3846  

    显示mysql数据库中的数据表:show tables;

    我通常使用以下 SQL 来备份 MyISAM 表:

    备份数据库:

    Mysql一分钟 掌握  只需要 1分钟 超过一分钟 对不起 你更适合用mssql 傻瓜配置管理器!

    查看表结构:SHOW [FULL] COLUMNS FROM 数据表名.数据库名;

     代码如下 复制代码
    /usr/local/mysql/bin/mysqldump -uyejr -pyejr
    --default-character-set=utf8 --opt --extended-insert=false
    --triggers -R --hex-blob -x db_name > db_name.sql新葡亰496net:linux服务器下mysql备份恢复命令介绍,神器打造实例。  

    mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。

    1. 格式:mysql -h 远程主机地址 -u 用户名 -p 回车   
    2. 输入密码进入:   
    3.   
    4. mysql -u root -p 回车   
    5. Enter password: ,输入密码就可以进入   
    6. mysql> 进入了   
    7. 退出命令:>exit 或者ctrl D   
    8.   
    9. 二,MySQL管理与授权   
    10. 1.修改密码:   
    11. 格式:mysqladmin -u 用户名 -p 旧密码 password 新密码   
    12.   
    13. 2.增加新用户:   
    14. >grant create,select,update....(授予相关的操作权限)   
    15. ->on 数据库.*   
    16. -> to 用户名@登录主机 identified by '密码'   
    17.   
    18. 操作实例:   
    19.   
    20. 给root用户添加密码:   
    21. # mysqladmin -u root password linuxidc   
    22. 因为开始root没有密码,所以-p旧密码一项可以省略.   
    23. 登陆测试:   
    24. # mysql -u root -p 回车   
    25. 输入密码,成功登陆.   
    26.   
    27.   
    28. 将原有的mysql管理登陆密码linuxidc改为linuxidc.net.   
    29. # mysqladmin -u root -p linuxidc password 'linuxidc.net'   
    30.   
    31. 创建数据库添加用户并授予相应的权限:   
    32. mysql> create database phpbb;   
    33. Query OK, 1 row affected (0.02 sec)   
    34.   
    35. mysql> use phpbb;   
    36. Database changed   
    37. mysql> grant create,select,update,insert,delete,alter   
    38. -> on phpbb.*   
    39. -> to phpbbroot@localhost identified by 'linuxidc';   
    40. Query OK, 0 rows affected (0.00 sec)   
    41.   
    42. 授予所有的权限:   
    43. >grant all privileges   
    44. >on bbs.*   
    45. >to bbsroot@localhost identified by 'linuxidc'   
    46.   
    47. 回收权限:   
    48. revoke create,select,update,insert,delete,alter   
    49. on phpbb.*   
    50. from phpbbroot@localhost identified by 'linuxidc';   
    51.   
    52. 完全将phpbbroot这个用户删除:   
    53. >use mysql   
    54. >delete from user   
    55. where user='phpbbroot' and host='localhost';   
    56. >flush privileges; 刷新数据库   
    57.   
    58. 三,数据库简单操作   
    59. 1.显示数据库列表:   
    60. >show databases;   
    61. mysql   
    62. test   
    63. 2.使其成为当前操作数据库   
    64. >use mysql; 打开数据库.   
    65. >show tables; 显示mysql数据库中的数据表.   
    66. 3.显示数据表的表结构:   
    67. >describe 表名;   
    68. >describe user; 显示user表的表结构:   
    69. 4.创建数据库,建表   
    70. >create database 数据库名;   
    71. >use 数据库名;   
    72. >create table 表名(字段设定列表)   
    73. 5.删除数据库,册除表   
    74. >drop database 数据库名;   
    75. >drop table 表名;   
    76. 6.显示表中的记录;   
    77. select * from 表名;   
    78. 7.修改数据库结构:   
    79. 增加字段:   
    80. alter table dbname add column <字段名><字段选项>   
    81. 修改字段:   
    82. alter table dbname change <旧字段名> <新字段名><选项>   
    83. 删除字段:   
    84. alter table dbname drop column <字段名>   
    85.   
    86. 实例操作:   
    87. >create database office;   
    88. >use office;   
    89. mysql> create table personal(   
    90. -> member_no char(5) not null,   
    91. -> name char(,   
    92. -> birthday date,   
    93. -> exam_score tinyint,   
    94. -> primary key(member_no)   
    95. -> );   
    96. Query OK, 0 rows affected (0.01 sec)   
    97. >desc personal; 显示表结构:   
    98. ------------ ------------ ------ ----- --------- -------    
    99. | Field | Type | Null | Key | Default | Extra |   
    100. ------------ ------------ ------ ----- --------- -------    
    101. | member_no | char(5) | | PRI | | |   
    102. | name | char( | YES | | NULL | |   
    103. | birthday | date | YES | | NULL | |   
    104. | exam_score | tinyint(4) | YES | | NULL | |   
    105. ------------ ------------ ------ ----- --------- -------    
    106. 4 rows in set (0.00 sec)   
    107.   
    108. insert into personal values ('001','netseek','1983-03-15','95');   
    109. insert into personal values ('002','heihei','1982-02-24','90');   
    110. insert into personal values ('003','gogo','1985-05-21','85');   
    111. insert into personal values ('004','haha','1984-02-25','84');   
    112. insert into personal values ('005','linlin','1982-04-28','85');   
    113. insert into personal values ('006','xinxin','1985-03-15','75');   
    114.   
    115. mysql> select * from personal;   
    116. ----------- --------- ------------ ------------    
    117. | member_no | name | birthday | exam_score |   
    118. ----------- --------- ------------ ------------    
    119. | 001 | netseek | 1983-03-15 | 95 |   
    120. | 002 | heihei | 1982-02-24 | 90 |   
    121. | 003 | gogo | 1985-05-21 | 85 |   
    122. | 004 | haha | 1984-02-25 | 84 |   
    123. | 005 | linlin | 1982-04-28 | 85 |   
    124. | 006 | xinxin | 1985-03-15 | 75 |   
    125. ----------- --------- ------------ ------------    
    126.   
    127. 修改数据库表:   
    128. 要求: 在birthday这后增加一个为height的字段,数据类型为tinyint.   
    129. 将字段exam_score 改名为scores,数据类型不变   
    130. >alter table personal   
    131. ->add column height tinyint after birthday,   
    132. ->change column exam_score scores tinyint;   
    133.   
    134. mysql> select * from personal;   
    135. ----------- --------- ------------ -------- --------    
    136. | member_no | name | birthday | height | scores |   
    137. ----------- --------- ------------ -------- --------    
    138. | 001 | netseek | 1983-03-15 | NULL | 95 |   
    139. | 002 | heihei | 1982-02-24 | NULL | 90 |   
    140. | 003 | gogo | 1985-05-21 | NULL | 85 |   
    141. | 004 | haha | 1984-02-25 | NULL | 84 |   
    142. | 005 | linlin | 1982-04-28 | NULL | 85 |   
    143. | 006 | xinxin | 1985-03-15 | NULL | 75 |   
    144. ----------- --------- ------------ -------- --------    
    145.   
    146. 给表中插入数据:   
    147. >update personal set scores=95 5 where name='netseek';   
    148. >select scores from personal where name='netseek';   
    149. --------    
    150. | scores |   
    151. --------    
    152. | 100 |   
    153. --------    
    154.   
    155. 删除表名字为'gogo'所有的信息中的的:   
    156. > delete from personal where name='gogo';   
    157.   
    158. 册除数据库中的表:   
    159. mysql>drop table if exists personal;   
    160.   
    161. 三,数据库的导入与导出   
    162. 导出:   
    163. 使用select into outfile 'filename'语句   
    164. 使用mysqldump实用程序   
    165. 使用select into outfile 'filename'语句   
    166.   
    167. 1.只能处理单个表,输出文件只有数据,没有表结构   
    168. 我们要将office,其中有一个表为personal,现在要把personal卸成文本文件out.txt:   
    169. >use office;   
    170. >select * from personal into outfile 'out.txt'; 可以看在/var/lib/mysql/office/目录下有out.txt   
    171. select * from personal into outfile './out.txt'; 可以看在out.txt 在/var/lib/mysql/目录下用out.txt   
    172.   
    173. 2.使用mysqldump实用程序(可以轻松处理多个表)   
    174. # cd /var/lib/mysql   
    175. 导出建立相关表的建表命令和插入指令   
    176. # mysqldump bbs >bbs.sql 将数据库bbs导入到bbs.sql中   
    177.   
    178. 如果要将bbs.sql导入数据库可以使用:   
    179. mysql> create database bbstest; 先建立一个名为office 的数据库.   
    180. # mysql bbstest <bbs.sql (这个常用在将本地的数据库文件传到服务器上,再导入到数据库中)   
    181.   
    182. 只想导出建表指令:   
    183. # mysqldump -d bbs >bbscreate.sql   
    184. 只想导出插入数据的sql指令:   
    185. # mysqldump -t bbs >bbsinsert.sql   
    186. 同时导出数据库中建表指令和表中的数据:   
    187. # mysqldump -T./ bbs cdb_admingroups (其中./表示当前目录,cdb_admingroups为bbs数据库其中的一个表)   
    188. #ls   
    189. cdb_admingroups.sql 导出了建表指令   
    190. cdb_admingroups.txt 导出了表中的数据   
    191.   
    192. 导入:   
    193. 从文件中加载数据库:   
    194. mysql>load data infile "/tmp/name.txt" into table names;   
    195. mysql>select * from names;   
    196.   
    197.   
    198. 四,数据库备份   
    199.   
    200. 1.手动拷贝备份:   
    201. MySQL数据库的文件保存在目录/var/lib/mysql中,数据库为每个库建立一个目录,所有的数据库文件都在这些目录中.   
    202. [root@www.linuxidc.com mysql]#ls   
    203. bbs mysql mysql.sock phpbb test office 显示其中的数据库.   
    204.   
    205. 如果我们要将现在的数据库目录备份为mysql.bak .   
    206. [root@www.linuxidc.com lib]# cp -rf mysql mysql.bak   
    207. 如果数据库遭到了破坏,现在要将数据库恢复:   
    208. [root@www.linuxidc.com lib]# cp -rf mysql.bak/* mysql   
    209. 恢复数据库以后,var/lib/mysql中的文件已改变了,要更改文件的所属权限必须改变MySQL数据库的用户读写权限。   
    210. 所以我们得启动和运行mysql,并登陆数据库:   
    211. [root@www.linuxidc.com lib]# /etc/init.d/mysqld start   
    212. [root@www.linuxidc.com lib]# mysql -u root -p   
    213. Enter password:输入密码成功登陆.   
    214. mysql> show databses;   
    215.   
    216. 2.利用mysqldump来备份数据库   
    217. [root@www.linuxidc.com mysql]# mysqldump --opt bbs -u root -p > bbs.sql   
    218. Enter password:   
    219. 注:--opt添加备份的其它选项,bb为其中一个数据库名,   
    220. 上面的意思是:使用重定向输出将备份写入到文件bb.sql中.   
    221. [root@www.linuxidc.com mysql] #less bbs.sql   
    222.   
    223. 如果要恢复bb这个数据库,则进行如下操作:   
    224. [root@www.linuxidc.com mysql] #mysql bbs -u root -p < bbs.sql   
    225.   
    226. 如果要备份所有数据库:   
    227. [root@www.linuxidc.com mysql] #mysqldump --opt --all-databases -u root -p >mysql.bak   
    228. Enetr password:输入密码即可   
    229. 恢复所有数据库,不用输入数据库的名字:   
    230. [root@www.linuxidc.com mysql] #mysql -u root -p < mysql.bak   
    231. Enetr password: 输入密码即可   
    232.   
    233. 五,附:MySQL密码忘记了怎么办?  
    234. 如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。   
    235. 启动 MySQL :bin/safe_mysqld --skip-grant-tables &   
    236. 就可以不需要密码就进入 MySQL 了。  
    237. 然后就是   
    238. >use mysql  
    239. >update user set password=password("new_pass") where user="root";  
    240. >flush privileges;  
    241. 重新杀 MySQL ,用正常方法启动 MySQL 。  

    describe语句查看表的基本定义:describe 表名;(describe 可以缩写成desc)

    使用以下 SQL 来备份 Innodb 表:

     代码如下  www.2cto.com  

    新葡亰496net 2

    修改表结构:

     代码如下 复制代码
    /usr/local/mysql/bin/mysqldump -uyejr -pyejr
    --default-character-set=utf8 --opt --extended-insert=false
    --triggers -R --hex-blob --single-transaction db_name > db_name.sql  

    mysqldump -uroot -p123456 database_name>d:/backup20070713.sql

      增加字段:语法:alter table 表名 add column <字段名><字段选项>;

    另外,如果想要实现在线备份,还可以使用 --master-data 参数来实现,如下:

    上面windows/下面为linux

      修改字段:语法:alter table 表名 change <旧字段名> <新字段名><选项>;

     代码如下 复制代码
    /usr/local/mysql/bin/mysqldump -uyejr -pyejr
    --default-character-set=utf8 --opt --master-data=1
    --single-transaction --flush-logs db_name > db_name.sql

    我通常使用以下 SQL 来备份 MyISAM 表:

      删除字段:语法:alter table 表名 drop column <字段名>;

     

     代码如下

      重命名数据表:语法:RENAME TABLE 数据表名1 To 数据表名2 ;

    恢复数据库:

    /usr/local/mysql/bin/mysqldump -uyejr -pyejr 

    删除表: drop table 表名:删除整个表,包括表里的数据、表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)等,表不存在

    删除原有数据库,建立数据库,把备份数据库导入。

    --default-character-set=utf8 --opt --extended-insert=false 

    truncate table 表名:只删除表里的数据,表还存在

     代码如下 复制代码
    mysqladmin -uroot -p123456 drop database_name

    --triggers -R --hex-blob -x db_name > db_name.sql

    向表里插入数据--------------------语法:insert into 表名(属性名,属性名,…)values () //单行插入value()

    mysqladmin -uroot -p123456 create database_name

     

    查询表中的数据--------------------select 列名称 from 表名称 [查询条件];

    mysql -uroot -p123456 database_name  

    使用以下 SQL 来备份 Innodb 表:

    修改表中的数据--------------------语法:update 表名称 set 列名称=新值 where 更新条件;

    用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,有两种方法可以将数据导入。

     代码如下

    删除表中的数据--------------------语法:delete from 表名称 where 删除条件;

    直接用 mysql 客户端
    例如:

    /usr/local/mysql/bin/mysqldump -uyejr -pyejr 

    删除表中的所有数据----------------delete from student;

     代码如下 复制代码
    /usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql  

    --default-character-set=utf8 --opt --extended-insert=false 

    数据库的导入导出:

     

    --triggers -R --hex-blob --single-transaction db_name > db_name.sql

      (1)使用select into outfile 'filename'语句: 我们要将数据库Stu下的Student表中的数据导出成文本文件,文件名为“out.txt”:

    用 SOURCE 语法
    其实这不是标准的 SQL 语法,而是 mysql 客户端提供的功能,例如:

    另外,如果想要实现在线备份,还可以使用 --master-data 参数来实现,如下:

      >use Stu; >select * from Student into outfile 'out.txt'; 可以在对应目录下查看out.txt

     代码如下 复制代码
    SOURCE /tmp/db_name.sql;

     代码如下

      (2)使用mysqldump实用程序(可以轻松处理多个表)

    这里需要指定文件的绝对路径,并且必须是 mysqld 运行用户(例如 nobody)有权限读取的文件。

    /usr/local/mysql/bin/mysqldump -uyejr -pyejr 

    进入到目录: # cd /var/lib/mysql

    注:在导入备份数据库前,database_name如果没有,是需要创建的;而且与backup20070713.sql中数据库名是一样的才能导入。

    --default-character-set=utf8 --opt --master-data=1 

    导出建立相关表的建表命令和插入指令

    mysqldump(数据导出工具)

    --single-transaction --flush-logs db_name > db_name.sql

    # mysqldump Stu >Stu.sql 将数据库Stu导入到Stu.sql中

      mysqldump options db_name[table_name]//备份单个数据库
      mysqldump 选项 --database database-name1 [databases-name2]....//备份指定的数据库一个或者多个
      mysqldump 选项 --all-database //备份所有的数据库
      链接选项:
      -u :指定用户名
       -p:指定密码
       -h:指定服务器ip或者域名
       -P(大写):指定端口
    eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt
    输出内容选项:
    --add-drop-database:每个数据库创建语句之前加上drop database语句
    --add-drop-table:每个表创建语句之前加上drop table语句
    -n:不包含数据库的创建语句
    -t:不包含数据表的创建语句
    -d:不包含数据
    输出格式选项:
     --compact:使输出结果简洁
     -c --compact-insert:使输出文件中的insert语句包含字段名
     -T:将数据库表中的数据备份为单纯的数据文本和建表sql俩个文件
       --fields-terminated-by=name(域分割符)
       --fields-enclosed-by=name(域引用符)
       --fields-optionally-enclosed-by=name(域可选引用符)
       --fields-escaped-by=name(转移字符)
    eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user -T ./bak
    字符集选项:
    --default-character-set=name:设置导出的客户端字符集
    eg:mysql -u root -p --compact --default-character-set=utf8 BBS user > test.txt

     

    如果要将Stu.sql导入数据库:

    更多详细内容请查看:

    恢复数据库:

    mysql> create database newStu; 先建立一个名为newStu 的数据库.

    删除原有数据库,建立数据库,把备份数据库导入。

    # mysql newStu Stucreate.sql

     代码如下

    只想导出插入数据的sql指令:

    mysqladmin -uroot -p123456 drop database_name

    # mysqldump -t Stu > Stuinsert.sql

    mysqladmin -uroot -p123456 create database_name

    同时导出数据库中建表指令和表中的数据:

    mysql -uroot -p123456 database_name

    # mysqldump –T ./ Stu Student (其中./表示当前目录, Student为Stu数据库其中的一个表)

     

    Student.sql 导出了建表指令,Student.txt 导出了表中的数据

    用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,有两种方法可以将数据导入。

    (4)从文件中加载数据库:

    直接用 mysql 客户端   www.2cto.com  

    mysql>load data infile "/tmp/Student.txt" into table Student; (把Student.txt文件中的数据导入到表Student中)

    例如:

    数据库备份:

     代码如下

    (1).手动拷贝备份: MySQL数据库的文件保存在目录/var/lib/mysql中,数据库为每个库建立一个目录,所有的数据库文件都在这些目录中.

    /usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql

    [root@linuxhero mysql]#ls

      

    [root@linuxhero mysql]#servcie mysqld stop.先停止数据库

    用 SOURCE 语法 

    如果我们要将现在的数据库目录备份为mysql.bak

    其实这不是标准的 SQL 语法,而是 mysql 客户端提供的功能,例如:

    [root@linuxhero lib]# cp -rf mysql mysql.bak

     代码如下

    如果数据库遭到了破坏,现在要将数据库恢复

    SOURCE /tmp/db_name.sql;

    [root@linuxhero lib]# cp -rf mysql.bak/*新葡亰496net, mysql

     

    恢复数据库以后,var/lib/mysql中的文件已改变了,要更改文件的所属权限必须改变MySQL数据库的用户读写权限。 所以我们得启动和运行mysql,并登陆数据库:

    这里需要指定文件的绝对路径,并且必须是 mysqld 运行用户(例如 nobody)有权限读取的文件。

    [root@linuxhero lib]# /etc/init.d/mysqld start

    注:在导入备份数据库前,database_name如果没有,是需要创建的;而且与backup20070713.sql中数据库名是一样的才能导入。

    [root@linuxhero lib]# mysql -u root -p

    mysqldump(数据导出工具)

    Enter password:

      mysqldump options db_name[table_name]//备份单个数据库

    输入密码成功登陆.

      mysqldump 选项 --database database-name1 [databases-name2]....//备份指定的数据库一个或者多个

    (2).利用mysqldump来备份数据库

      mysqldump 选项 --all-database //备份所有的数据库

    [root@linuxhero mysql]# mysqldump --opt Stu -u root -p > Stu.sql

      链接选项:

    Enter password:

      -u :指定用户名

    注:--opt添加备份的其它选项,Stu为其中一个数据库名, 上面的意思是:使用重定向输出将备份写入到文件Stu.sql中.

       -p:指定密码

    [root@linuxhero mysql] #less Stu.sql 如果要恢复Stu这个数据库,则进行如下操作:

       -h:指定服务器ip或者域名

    [root@linuxhero mysql] #mysql Stu -u root -p < Stu.sql

       -P(大写):指定端口

    如果要备份所有数据库: [root@linuxhero mysql] #mysqldump --opt --all-databases -u root -p >mysql.bak

    eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt

    Enetr password:输入密码即可 恢复所有数据库,不用输入数据库的名字:

    输出内容选项:

    [root@linuxhero mysql] #mysql -u root -p < mysql.bak

    --add-drop-database:每个数据库创建语句之前加上drop database语句

    Enetr password:

    --add-drop-table:每个表创建语句之前加上drop table语句

    输入密码即可

    -n:不包含数据库的创建语句

    -t:不包含数据表的创建语句

    -d:不包含数据

    输出格式选项:  www.2cto.com  

     --compact:使输出结果简洁

     -c --compact-insert:使输出文件中的insert语句包含字段名

     -T:将数据库表中的数据备份为单纯的数据文本和建表sql俩个文件

       --fields-terminated-by=name(域分割符)

       --fields-enclosed-by=name(域引用符)

       --fields-optionally-enclosed-by=name(域可选引用符)

       --fields-escaped-by=name(转移字符)

    eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user -T ./bak

    字符集选项:

    --default-character-set=name:设置导出的客户端字符集

    eg:mysql -u root -p --compact --default-character-set=utf8 BBS user > test.txt

     

     

    来自壹聚教程网

    在windows服务器下mysql备份恢复我们经常会使用mysqldump命令来完成这些操作,下面我来详细的总结一...

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496net:linux服务器下mysql备份恢复命令介绍

    关键词: