|
一) 連接 MySQL: 格式: mysql -h 主機地址 -u 用戶名 -p 用戶密碼 1、例 1:連接到本機上的 MYSQL 首先在打開 DOS 窗口, 然后進入 mysql 安裝目錄下的 bin 目錄下, 例如: D:mysqlin, 再鍵入命令 mysql -uroot -p,回車后提示你輸密碼,如果剛安裝好 MYSQL,超級用戶 root 是沒有密碼的,故直接回車即可進入到 MYSQL 中了,MYSQL 的提示符是:mysql> 2、例 2:連接到遠程主機上的 MYSQL 假設遠程主機的 IP 為:10.0.0.1,用戶名為 root,密碼為 123。則鍵入以下命令: mysql -h10.0.0.1 -uroot -p123 (注:u 與 root 可以不用加空格,其它也一樣) 3、退出 MYSQL 命令 exit (回車) (二) 修改密碼: 格式:mysqladmin -u 用戶名 -p 舊密碼 password 新密碼 1、例 1:給 root 加個密碼 123。首先在 DOS 下進入目錄 C:mysqlin,然后鍵入以下命令: mysqladmin -uroot -password 123 注:因為開始時 root 沒有密碼,所以-p 舊密碼一項就可以省略了。 2、例 2:再將 root 的密碼改為 456 mysqladmin -uroot -pab12 password 456 (三) 增加新用戶:(注意:和上面不同,下面的因為是 MYSQL 環(huán)境中的命令,所以后面都 帶一個分號作為命令結束符) 格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機 identified by "密碼" 例 1、增加一個用戶 test1 密碼為 abc,讓他可以在任何主機上登錄,并對所有數(shù)據(jù)庫有 查詢、插入、修改、刪除的權限。首先用以 root 用戶連入 MYSQL,然后鍵入以下命令: grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; 但例 1 增加的用戶是十分危險的,你想如某個人知道 test1 的密碼,那么他就可以在 internet 上的任何一臺電腦上登錄你的 MySQL 數(shù)據(jù)庫并對你的數(shù)據(jù)可以為所欲為了,解決辦法見例 2。 例 2、增加一個用戶 test2 密碼為 abc,讓他只可以在 localhost 上登錄,并可以對數(shù)據(jù) 庫 mydb 進行查詢、插入、修改、刪除的操作(localhost 指本地主機,即 MYSQL 數(shù)據(jù)庫所 在的那臺主機),這樣用戶即使用知道 test2 的密碼,他也無法從 internet 上直接訪問數(shù) 據(jù)庫,只能通過 MYSQL 主機上的 web 頁來訪問了。 grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 如果你不想 test2 有密碼,可以再打一個命令將密碼消掉。 grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; (四) 顯示命令 1、顯示數(shù)據(jù)庫列表: show databases; 剛開始時才兩個數(shù)據(jù)庫:mysql 和 test。mysql 庫很重要它里面有 MYSQL 的系統(tǒng)信息, 我們改密碼和新增用戶,實際上就是用這個庫進行操作。 2、顯示庫中的數(shù)據(jù)表: use mysql; //打開庫 show tables; 3、顯示數(shù)據(jù)表的結構: describe 表名; 4、建庫: create database 庫名; 5、建表: use 庫名;create table 表名 (字段設定列表); 6、刪庫和刪表: drop database 庫名; drop table 表名; 7、將表中記錄清空: delete from 表名; 8、顯示表中的記錄: select * from 表名; mySQL 查看所有用戶的語句 輸入指令 select user(); 1、MySQLdump 1.1 備份 mysqldump 是采用 SQL 級別的備份機制,它將數(shù)據(jù)表導成 SQL 腳本文件,在不同的 MySQL 版本之間升級時相對比較合適,這也是最常用的備份方法。 現(xiàn)在來講一下 mysqldump 的一些主要參數(shù): 1. --compatible=name 它告訴 mysqldump,導出的數(shù)據(jù)將和哪種數(shù)據(jù)庫或哪個舊版本的 MySQL 服務器相兼容。 值可以為 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、 ansi、mysql323、mysql40 postgresql、oracle、mssql、db2、maxdb、 no_key_options、no_tables_options、 no_key_options、no_tables_options、no_field_options 等,要使用幾個值,用逗號將 它們隔開。當然了,它并不保證能完全兼容,而是盡量兼容。 2.--complete-insert,-c 導出的數(shù)據(jù)采用包含字段名的完整 INSERT 方式,也就是把所有的值都寫在一行。這么做 能提高插入效率,但是可能會受到 max_allowed_packet 參數(shù)的影響而導致插入失敗。因 此,需要謹慎使用該參數(shù),至少我不推薦。 3.--default-character-set=charset 指定導出數(shù)據(jù)時采用何種字符集,如果數(shù)據(jù)表不是采用默認的 latin1 字符集的話,那么 導出時必須指定該選項,否則再次導入數(shù)據(jù)后將產生亂碼問題。 4.--disable-keys 告訴 mySQLdump 在 INSERT 語句的開頭和結尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 語句,這能大大 提高插入語句的速度, 因為它是在插入完所有數(shù)據(jù)后才重建索引的。 該選項只適合 MyISAM 表。 5.--extended-insert = true|false 默認情況下,MySQLdump 開啟 --complete-insert 模式,因此不想用它的的話,就使用 mysqldump --complete complete本選項,設定它的值為 false 即可。 6.--hex-blob 使用十六進制格式導出二進制字符串字段。如果有二進制數(shù)據(jù)就必須使用本選項。影響到 的字段類型有 BINARY、VARBINARY、BLOB。 BINARY、VARBINARY、BLOB 7.--lock-all-tables,-x 在開始導出之前,提交請求鎖定所有數(shù)據(jù)庫中的所有表,以保證數(shù)據(jù)的一致性。這是一個 全局讀鎖,并且自動關閉 --single-transaction 和 --lock-tables 選項。 --single--lock locksingle 8.--lock-tables 它和 --lock-all-tables 類似,不過是鎖定當前導出的數(shù)據(jù)表,而不是一下子鎖定全部 --lock-alllock 庫下的表。 本選項只適用于 MyISAM 表, 如果是 Innodb 表可以用 --single-transaction --single single選項。 9. --no-create-info,-t 只導出數(shù)據(jù),而不添加 CREATE TABLE 語句。 CREATE 10. --no-data,-d 不導出任何數(shù)據(jù),只導出數(shù)據(jù)庫表結構。 11. --opt 這只是一個快捷選項,等同于同時添加 --add-drop-tables --add-locking --add-drop--add addadd --create--disable disable--extended extended--lock lock--quick --create-option --disable-keys --extended-insert --lock-tables --quick create --set--set-charset 選項。本選項能讓 mySQLdump 很快的導出數(shù)據(jù),并且導出的數(shù)據(jù)能很快 set 導回。該選項默認開啟,但可以用 --skip-opt 禁用。注意,如果運行 MySQLdump 沒有 --skipskip 指定 --quick 或 --opt 選項,則會將整個結果集放在內存中。如果導出大數(shù)據(jù)庫的話可 --quick --opt 能會出現(xiàn)問題。 12. --quick,-q 該選項在導出大表時很有用,它強制 mysqldump 從服務器查詢取得記錄直接輸出而不是 取得所有記錄后將它們緩存到內存中。 13. --routines,-R 導出存儲過程以及自定義函數(shù)。 14. --single-transaction 該選項在導出數(shù)據(jù)之前提交一個 BEGIN SQL 語句,BEGIN 不會阻塞任何應用程序且能保證 BEGIN 導出時數(shù)據(jù)庫的一致性狀態(tài)。它只適用于事務表,例如 InnoDB 和 BDB BDB。 本選項和 --lock-tables 選項是互斥的,因為 LOCK TABLES 會使任何掛起的事務隱含提 --locklock
信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
|