您好,登錄后才能下訂單哦!
MySQL 常用命令大全
1. mysql:連接數(shù)據(jù)庫
mysql 命令用戶連接數(shù)據(jù)庫。
mysql 命令格式: mysql -h 主機(jī)地址 -u 用戶名 -p 用戶密碼
1) 連接到本機(jī)上的 MYSQL
首先打開 DOS 窗口,然后進(jìn)入目錄 mysql\bin,再鍵入命令 mysql -u root -p,回車后提示你
輸密碼。
注意用戶名前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密
碼。
如果剛安裝好 MYSQL,超級(jí)用戶 root 是沒有密碼的,故直接回車即可進(jìn)入到 MYSQL 中了,
MYSQL 的提示符是: mysql>
2) 連接到遠(yuǎn)程主機(jī)上的 MYSQL
假設(shè)遠(yuǎn)程主機(jī)的 IP 為: 110.110.110.110,用戶名為 root,密碼為 abcd123。則鍵入以下命令:
mysql -h210.110.110.110 -u root -p 123;(注: u 與 root 之間可以不用加空格,其它也一樣)
3) 退出 MYSQL 命令
exit (回車)
2. mysqladmin:修改用戶密碼
mysqladmin 命令用于修改用戶密碼。
mysqladmin 命令格式: mysqladmin -u 用戶名 -p 舊密碼 password 新密碼
1) 給 root 加個(gè)密碼 ab12
首先在 DOS 下進(jìn)入目錄 mysql\bin,然后鍵入以下命令:
mysqladmin -u root -password ab12
注:因?yàn)殚_始時(shí) root 沒有密碼,所以-p 舊密碼一項(xiàng)就可以省略了。
2) 再將 root 的密碼改為 djg345
mysqladmin -u root -p ab12 password djg345
3. grant on:新增用戶
grant on 命令用于增加新用戶并控制其權(quán)限。
grant on 命令格式: grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by “密碼” ;
1) 增加一個(gè)用戶 test1,密碼為 abc,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫有查詢、
插入、修改、刪除的權(quán)限。首先用 root 用戶連入 MYSQL,然后鍵入以下命令:
grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;
但增加的用戶是十分危險(xiǎn)的,你想如某個(gè)人知道 test1 的密碼,那么他就可以在 internet 上
的任何一臺(tái)電腦上登錄你的 mysql 數(shù)據(jù)庫并對(duì)你的數(shù)據(jù)可以為所欲為了,解決辦法如下。
2) 增加一個(gè)用戶 test2 密碼為 abc,讓他只可以在 localhost 上登錄,并可以對(duì)數(shù)據(jù)庫 mydb
進(jìn)行查詢、插入、修改、刪除的操作(localhost 指本地主機(jī),即 MYSQL 數(shù)據(jù)庫所在的那臺(tái)主
機(jī)),這樣用戶即使用知道 test2 的密碼,他也無法從 internet 上直接訪問數(shù)據(jù)庫,只能通過
MYSQL 主機(jī)上的 web 頁來訪問了。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by
“abc”;
如果你不想 test2 有密碼,可以再打一個(gè)命令將密碼消掉。
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;
4. create:創(chuàng)建數(shù)據(jù)庫
create 命令用于創(chuàng)建數(shù)據(jù)庫。
create 命令格式: create database <數(shù)據(jù)庫名>;
注意:創(chuàng)建數(shù)據(jù)庫之前要先連接 Mysql 服務(wù)器。
1) 建立一個(gè)名為 xhkdb 的數(shù)據(jù)庫:
mysql> create database xhkdb;
2) 創(chuàng)建數(shù)據(jù)庫并分配用戶:
a: CREATE DATABASE 數(shù)據(jù)庫名;
b: GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 數(shù)據(jù)庫名.* TO
數(shù)據(jù)庫名@localhost IDENTIFIED BY '密碼';
c:SET PASSWORD FOR '數(shù)據(jù)庫名'@'localhost' = OLD_PASSWORD('密碼');
依次執(zhí)行 3 個(gè)命令完成數(shù)據(jù)庫創(chuàng)建。
注意:中文 “密碼”和“數(shù)據(jù)庫”是戶自己需要設(shè)置的。
5. show databases:顯示數(shù)據(jù)庫
show databases 命令用于顯示所有數(shù)據(jù)庫。
show databases 命令格式: show databases; (注意:最后有個(gè) s)
例如: mysql> show databases;
6. drop database:刪除數(shù)據(jù)庫
drop 命令用于刪除數(shù)據(jù)庫。
drop 命令格式: drop database <數(shù)據(jù)庫名>;
例如,刪除名為 xhkdb 的數(shù)據(jù)庫:
mysql> drop database xhkdb;
[例子 1] 刪除一個(gè)已經(jīng)確定存在的數(shù)據(jù)庫:
mysql> drop database drop_database;
Query OK, 0 rows affected (0.00 sec)
[例子 2] 刪除一個(gè)不確定存在的數(shù)據(jù)庫:
mysql> drop database drop_database;
ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist
// 發(fā)生錯(cuò)誤,不能刪除'drop_database'數(shù)據(jù)庫,該數(shù)據(jù)庫不存在。
mysql> drop database if exists drop_database;
Query OK, 0 rows affected, 1 warning (0.00 sec)
//產(chǎn)生一個(gè)警告說明此數(shù)據(jù)庫不存在
mysql> create database drop_database; // 創(chuàng)建一個(gè)數(shù)據(jù)庫
Query OK, 1 row affected (0.00 sec)
mysql> drop database if exists drop_database; // if exists 判斷數(shù)據(jù)庫是否存在,不存在也不產(chǎn)生錯(cuò)誤
Query OK, 0 rows affected (0.00 sec)
7. use:使用數(shù)據(jù)庫
use 命令可以讓我們來使用數(shù)據(jù)庫。
use 命令格式: use <數(shù)據(jù)庫名>;
例如,如果 xhkdb 數(shù)據(jù)庫存在,嘗試存取它:
mysql> use xhkdb;
屏幕提示: Database changed
1) use 語句可以通告 MySQL 把 db_name 數(shù)據(jù)庫作為默認(rèn)(當(dāng)前)數(shù)據(jù)庫使用,用于后續(xù)語
句。該數(shù)據(jù)庫保持為默認(rèn)數(shù)據(jù)庫,直到語段的結(jié)尾,或者直到出現(xiàn)下一個(gè)不同的 use 語句:
mysql> USE db1;
mysql> SELECT COUNT(*) FROM mytable; # selects from db1.mytable
mysql> USE db2;
mysql> SELECT COUNT(*) FROM mytable; # selects from db2.mytable
2) 使用 USE 語句為一個(gè)特定的當(dāng)前的數(shù)據(jù)庫做標(biāo)記,不會(huì)阻礙您訪問其它數(shù)據(jù)庫中的表。下
面的例子可以從 db1 數(shù)據(jù)庫訪問 author 表,并從 db2 數(shù)據(jù)庫訪問 editor 表:
mysql> USE db1;
mysql> SELECT author_name,editor_name FROM author,db2.editor
-> WHERE author.editor_id = db2.editor.editor_id;
use 語句被設(shè)立出來,用于與 Sybase 相兼容。
有些網(wǎng)友問到,連接以后怎么退出。其實(shí),不用退出來, use 數(shù)據(jù)庫后,使用 show databases
就能查詢所有數(shù)據(jù)庫,如果想跳到其他數(shù)據(jù)庫,用
use 其他數(shù)據(jù)庫名字就可以了。
8. select:當(dāng)前連接的數(shù)據(jù)庫
select 命令表示當(dāng)前選擇(連接)的數(shù)據(jù)庫。
select 命令格式: mysql> select database();
MySQL 中 SELECT 命令類似于其他編程語言里的 print 或者 write,你可以用它來顯示一個(gè)字
符串、數(shù)字、數(shù)學(xué)表達(dá)式的結(jié)果等等。如何使用 MySQL 中 SELECT 命令的特殊功能呢?
1) 顯示 MYSQL 的版本
mysql> select version();
+-----------------------+
| version() |
+-----------------------+
| 6.0.4-alpha-community |
+-----------------------+
1 row in set (0.02 sec)
2) 顯示當(dāng)前時(shí)間
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2009-09-15 22:35:32 |
+---------------------+
1 row in set (0.04 sec)
3) 顯示年月日
SELECT DAYOFMONTH(CURRENT_DATE);
+--------------------------+
| DAYOFMONTH(CURRENT_DATE) |
+--------------------------+
| 15 |
+--------------------------+
1 row in set (0.01 sec)
SELECT MONTH(CURRENT_DATE);
+---------------------+
| MONTH(CURRENT_DATE) |
+---------------------+
| 9 |
+---------------------+
1 row in set (0.00 sec)
SELECT YEAR(CURRENT_DATE);
+--------------------+
| YEAR(CURRENT_DATE) |
+--------------------+
| 2009 |
+--------------------+
1 row in set (0.00 sec)
4) 顯示字符串
mysql> SELECT "welecome to my blog!";
+----------------------+
| welecome to my blog! |
+----------------------+
| welecome to my blog! |
+----------------------+
1 row in set (0.00 sec)
5) 當(dāng)計(jì)算器用
select ((4 * 4) / 10 ) + 25;
+----------------------+
| ((4 * 4) / 10 ) + 25 |
+----------------------+
| 26.60 |
+----------------------+
1 row in set (0.00 sec)
6) 串接字符串
select CONCAT(f_name, " ", l_name)
AS Name
from employee_data
where title = 'Marketing Executive';
+---------------+
| Name |
+---------------+
| Monica Sehgal |
| Hal Simlai |
| Joseph Irvine |
+---------------+
3 rows in set (0.00 sec)
注意:這里用到 CONCAT()函數(shù),用來把字符串串接起來。另外,我們還用到以前學(xué)到的 AS
給結(jié)果列'CONCAT(f_name, " ", l_name)'起了個(gè)假名。
9. create table:創(chuàng)建數(shù)據(jù)表
數(shù)據(jù)表屬于數(shù)據(jù)庫,在創(chuàng)建數(shù)據(jù)表之前,應(yīng)該使用語句“USE <數(shù)據(jù)庫名>”指定操作是在哪
個(gè)數(shù)據(jù)庫中進(jìn)行,如果沒有選擇數(shù)據(jù)庫,會(huì)拋出“No database selected”的錯(cuò)誤。
創(chuàng)建數(shù)據(jù)表的語句為 CREATE TABLE,語法規(guī)則如下:
CREATE TABLE <表名>
(
字段名 1,數(shù)據(jù)類型 [列級(jí)別約束條件] [默認(rèn)值],
字段名 2,數(shù)據(jù)類型 [列級(jí)別約束條件] [默認(rèn)值],
[表級(jí)別約束條件]
);
使用 CREATE TABLE 創(chuàng)建表時(shí),必須指定以下信息:
(1)要?jiǎng)?chuàng)建的表的名稱,不區(qū)分大小寫,不能使用 SQL 語言中的關(guān)鍵字,如 DROP、 ALTER、
INSERT 等。
(2)數(shù)據(jù)表中每一個(gè)列(字段)的名稱和數(shù)據(jù)類型,如果創(chuàng)建多個(gè)列,要用逗號(hào)隔開。
創(chuàng)建員工表 tb_emp1,結(jié)構(gòu)如下表所示。
表 tb_emp1 表結(jié)構(gòu)
字段名稱 | 數(shù)據(jù)類型 | 備注 |
id | INT(11) | 員工編號(hào) |
name | VARCHAR(25) | 員工名稱 |
deptId | INT(11) | 所在部門編號(hào) |
salary | FLOAT | 工資 |
首先創(chuàng)建數(shù)據(jù)庫, SQL 語句如下:
CREATE DATABASE test_db;
選擇創(chuàng)建表的數(shù)據(jù)庫, SQL 語句如下:
USE test_db;
創(chuàng)建 tb_emp1 表, SQL 語句為:
CREATE TABLE tb_emp1
(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary FLOAT
);
語句執(zhí)行后,便創(chuàng)建了一個(gè)名稱為 tb_emp1 的數(shù)據(jù)表,使用 SHOW TABLES;語句查看數(shù)據(jù)
表是否創(chuàng)建成功, SQL 語句如下:
mysql> SHOW TABLES;
+-----------------------+
| Tables_in_ test_db |
+----------------------+
| tb_emp1 |
+----------------------+
1 row in set (0.00 sec)
可以看到, test_db 數(shù)據(jù)庫中已經(jīng)有了數(shù)據(jù)表 tb_tmp1,數(shù)據(jù)表創(chuàng)建成功。
10. desc:獲取表結(jié)構(gòu)
在 MySQL 中,查看表結(jié)構(gòu)可以使用 DESCRIBE 和 SHOW CREATE TABLE 語句。
DESCRIBE/DESC 語句可以查看表的字段信息,其中包括:字段名、字段數(shù)據(jù)類型、是否為主
鍵、是否有默認(rèn)值等。語法規(guī)則如下:
DESCRIBE 表名;
或者簡(jiǎn)寫為:
DESC 表名;
SHOW CREATE TABLE 語句可以用來顯示創(chuàng)建表時(shí)的 CREATE TABLE 語句,語法格式
如下:
SHOW CREATE TABLE <表名\G>;
使用 SHOW CREATE TABLE 語句,不僅可以查看表創(chuàng)建時(shí)候的詳細(xì)語句,而且還可以查
看存儲(chǔ)引擎和字符編碼。
如果不加’\G’參數(shù),顯示的結(jié)果可能非?;靵y,加上參數(shù)’\G’之后,可使顯示結(jié)果更加直觀,
易于查看。
使用 SHOW CREATE TABLE 查看表 tb_emp1 的詳細(xì)信息, SQL 語句如下:
mysql> SHOW CREATE TABLE tb_emp1;
11. drop table:刪除數(shù)據(jù)表
在 MySQL 中,使用 DROP TABLE 可以一次刪除一個(gè)或多個(gè)沒有被其他表關(guān)聯(lián)的數(shù)據(jù)表。語
法格式如下:
DROP TABLE [IF EXISTS]表 1, 表 2, . . . 表 n;
其中“表 n”指要?jiǎng)h除的表的名稱,后面可以同時(shí)刪除多個(gè)表,只需將要?jiǎng)h除的表名依次寫在
后面,相互之間用逗號(hào)隔開即可。如果要?jiǎng)h除的數(shù)據(jù)表不存在,則 MySQL 會(huì)提示一條錯(cuò)誤信息,
“ERROR 1051 (42S02): Unknown table '表名'”。參數(shù)“IF EXISTS”用于在刪除前判斷刪除的表是
否存在,加上該參數(shù)后,再刪除表的時(shí)候,如果表不存在, SQL 語句可以順利執(zhí)行,但是會(huì)發(fā)出
警告(warning)。
在前面的例子中,已經(jīng)創(chuàng)建了名為 tb_dept2 的數(shù)據(jù)表。如果沒有,讀者可輸入語句,創(chuàng)建該
表, SQL 語句如例 4.8 所示。下面使用刪除語句將該表刪除。
刪除數(shù)據(jù)表 tb_dept2, SQL 語句如下:
DROP TABLE IF EXISTS tb_dept2;
12. insert into:向表中插入數(shù)據(jù)
INSERT INTO 語句用于向表格中插入新的行。
語法如下:
INSERT INTO 表名稱 VALUES (值 1, 值 2,....)
我們也可以指定所要插入數(shù)據(jù)的列:
INSERT INTO table_name (列 1, 列 2,...) VALUES (值 1, 值 2,....)
【例】創(chuàng)建數(shù)據(jù)表 tmp3,定義數(shù)據(jù)類型為 YEAR 的字段 y,向表中插入值 2010, ’2010’, SQL
語句如下:
首先創(chuàng)建表 tmp3:
CREATE TABLE tmp3( y YEAR );
向表中插入數(shù)據(jù):
mysql> INSERT INTO tmp3 values(2010),('2010');
13. select from:查詢表中數(shù)據(jù)
MySQL 從數(shù)據(jù)表中查詢數(shù)據(jù)的基本語句為 SELECT 語句。 SELECT 語句的基本格式是:
SELECT
{* | <字段列表>}
[
FROM <表 1>,<表 2>...
[WHERE <表達(dá)式>
[GROUP BY <group by definition>]
[HAVING <expression> [{<operator> <expression>}...]]
[ORDER BY <order by definition>]
[LIMIT [<offset>,] <row count>]
]
SELECT [字段 1,字段 2,…,字段 n]
FROM [表或視圖]
WHERE [查詢條件];
其中,各條子句的含義如下:
{* | <字段列表>}包含星號(hào)通配符選字段列表,表示查詢的字段,其中字段列至少包含一個(gè)字
段名稱,如果要查詢多個(gè)字段,多個(gè)字段之間用逗號(hào)隔開,最后一個(gè)字段后不要加逗號(hào)。
FROM <表 1>,<表 2>...,表 1 和表 2 表示查詢數(shù)據(jù)的來源,可以是單個(gè)或者多個(gè)。
WHERE 子句是可選項(xiàng),如果選擇該項(xiàng), 將限定查詢行必須滿足的查詢條件。
GROUP BY <字段>,該子句告訴 MySQL 如何顯示查詢出來的數(shù)據(jù),并按照指定的字段分
組。
[ORDER BY <字段 >],該子句告訴 MySQL 按什么樣的順序顯示查詢出來的數(shù)據(jù),可以進(jìn)行
的排序有:升序(ASC)、降序(DESC)。
[LIMIT [<offset>,] <row count>],該子句告訴 MySQL 每次顯示查詢出來的數(shù)據(jù)條數(shù)。
14. delete from:刪除記錄
從數(shù)據(jù)表中刪除數(shù)據(jù)使用 DELETE 語句, DELETE 語句允許 WHERE 子句指定刪除條件。
DELETE 語句基本語法格式如下:
DELETE FROM table_name [WHERE <condition>];
table_name 指定要執(zhí)行刪除操作的表;“[WHERE <condition>]”為可選參數(shù),指定刪除條件,
如果沒有 WHERE 子句, DELETE 語句將刪除表中的所有記錄。
【例】在 person 表中,刪除 id 等于 11 的記錄, SQL 語句如下:
mysql> DELETE FROM person WHERE id = 11;
Query OK, 1 row affected (0.02 sec)
15. update set:修改表中的數(shù)據(jù)
MySQL 中使用 UPDATE 語句更新表中的記錄,可以更新特定的行或者同時(shí)更新所有的行。
基本語法結(jié)構(gòu)如下:
UPDATE table_name
SET column_name1 = value1,column_name2=value2,……,column_namen=valuen
WHERE (condition);
column_name1,column_name2,……,column_namen 為 指 定 更 新 的 字 段 的 名 稱 ; value1,
value2,……valuen 為相對(duì)應(yīng)的指定字段的更新值; condition 指定更新的記錄需要滿足的條件。更新
多個(gè)列時(shí),每個(gè)“列-值”對(duì)之間用逗號(hào)隔開,最后一列之后不需要逗號(hào)。
【例】在 person 表中,更新 id 值為 11 的記錄,將 age 字段值改為 15,將 name 字段值改為
LiMing, SQL 語句如下:
UPDATE person SET age = 15, name=’LiMing’ WHERE id = 11;
16. alter add:增加字段
添加字段的語法格式如下:
ALTER TABLE <表名> ADD <新字段名> <數(shù)據(jù)類型>
[約束條件] [FIRST | AFTER 已存在字段名];
新字段名為需要添加的字段的名稱;“FIRST”為可選參數(shù),其作用是將新添加的字段設(shè)置為
表的第一個(gè)字段;“AFTER”為可選參數(shù),其作用是將新添加的字段添加到指定的“已存在字段
名”的后面。
【例】在數(shù)據(jù)表 tb_dept1 中添加一個(gè)沒有完整性約束的 INT 類型的字段 managerId(部門經(jīng)理
編號(hào)), SQL 語句如下:
ALTER TABLE tb_dept1 ADD managerId INT(10);
17. rename:修改表名
MySQL 是通過 ALTER TABLE 語句來實(shí)現(xiàn)表名的修改的,具體的語法規(guī)則如下:
ALTER TABLE <舊表名> RENAME [TO] <新表名>;
其中 TO 為可選參數(shù),使用與否均不影響結(jié)果。
【例】將數(shù)據(jù)表 tb_dept3 改名為 tb_deptment3, SQL 語句如下:
ALTER TABLE tb_dept3 RENAME tb_deptment3;
18. mysqldump:備份數(shù)據(jù)庫
mysqldump 備份數(shù)據(jù)庫語句的基本語法格式如下:
mysqldump –u user –h host –ppassword dbname[tbname, [tbname...]]> filename.sql
user 表示用戶名稱; host 表示登錄用戶的主機(jī)名稱; password 為登錄密碼; dbname 為需要備
份的數(shù)據(jù)庫名稱; tbname 為 dbname 數(shù)據(jù)庫中需要備份的數(shù)據(jù)表,可以指定多個(gè)需要備份的表;右
箭頭符號(hào)“>”告訴 mysqldump 將備份數(shù)據(jù)表的定義和數(shù)據(jù)寫入備份文件; filename.sql 為備份文件
的名稱。
【例】使用 mysqldump 命令備份數(shù)據(jù)庫中的所有表,執(zhí)行過程如下:
打開操作系統(tǒng)命令行輸入窗口,輸入備份命令如下:
C:\ >mysqldump -u root -p booksdb > C:/backup/booksdb_20130301.sql
Enter password: **
輸入密碼之后, MySQL 便對(duì)數(shù)據(jù)庫進(jìn)行了備份,在 C:\backup 文件夾下面查看剛才備份過的文件。
19. mysql 和 source: 還原數(shù)據(jù)庫
對(duì)于已經(jīng)備份的包含 CREATE、 INSERT 語句的文本文件,可以使用 mysql 命令導(dǎo)入到數(shù)據(jù)庫
中。
備份的 sql 文件中包含 CREATE、 INSERT 語句(有時(shí)也會(huì)有 DROP 語句)。 mysql 命令可以
直接執(zhí)行文件中的這些語句。其語法如下:
mysql –u user –p [dbname] < filename.sql
user 是執(zhí)行 backup.sql 中語句的用戶名; -p 表示輸入用戶密碼; dbname 是數(shù)據(jù)庫名。如果
filename.sql 文件為 mysqldump 工具創(chuàng)建的包含創(chuàng)建數(shù)據(jù)庫語句的文件,執(zhí)行的時(shí)候不需要指定數(shù)
據(jù)庫名。
【例 1】使用 mysql 命令將 C:\backup\booksdb_20130301.sql 文件中的備份導(dǎo)入到數(shù)據(jù)庫中,輸
入語句如下:
mysql –u root –p booksDB < C:/backup/booksdb_20130301.sql
執(zhí)行該語句前,必須先在 MySQL 服務(wù)器中創(chuàng)建 booksDB 數(shù)據(jù)庫,如果不存在恢復(fù)過程將會(huì)
出錯(cuò)。命令執(zhí)行成功之后 booksdb_20130301.sql 文件中的語句就會(huì)在指定的數(shù)據(jù)庫中恢復(fù)以前的
表。
如果已經(jīng)登錄 MySQL 服務(wù)器,還可以使用 source 命令導(dǎo)入 sql 文件。 source 語句語法如下:
source filename
【 例 2 】 使 用 root 用 戶 登 錄 到 服 務(wù) 器 , 然 后 使 用 source 導(dǎo) 入 本 地 的 備 份 文 件
booksdb_20110101.sql,輸入語句如下:
--選擇要恢復(fù)到的數(shù)據(jù)庫
mysql> use booksDB;
Database changed
--使用 source 命令導(dǎo)入備份文件
mysql> source C:\backup\booksDB_20130301.sql
命令執(zhí)行后,會(huì)列出備份文件 booksDB_20130301.sql 中每一條語句的執(zhí)行結(jié)果。 source 命令
執(zhí)行成功后, booksDB_20130301.sql 中的語句會(huì)全部導(dǎo)入到現(xiàn)有數(shù)據(jù)庫中。
20. mysqlhotcopy: 快速恢復(fù)數(shù)據(jù)庫
mysqlhotcopy 備份后的文件也可以用來恢復(fù)數(shù)據(jù)庫,在 MySQL 服務(wù)器停止運(yùn)行時(shí),將備份的
數(shù)據(jù)庫文件復(fù)制到 MySQL 存放數(shù)據(jù)的位置(MySQL 的 data 文件夾),重新啟動(dòng) MySQL 服務(wù)即
可。如果以根用戶執(zhí)行該操作,必須指定數(shù)據(jù)庫文件的所有者,輸入語句如下:
chown -R mysql.mysql /var/lib/mysql/dbname
【例】從 mysqlhotcopy 復(fù)制的備份恢復(fù)數(shù)據(jù)庫,輸入語句如下:
cp -R /usr/backup/test usr/local/mysql/data
執(zhí)行完該語句,重啟服務(wù)器, MySQL 將恢復(fù)到備份狀態(tài)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。