這兩天搞個網站,又用到MySql,可是命令卻一個都想不起來,所以,趁這次機會,把這些整理一下,權當作筆記吧,以便自己以後查閱!
1:使用SHOW語句找出在服務器上當前存在什麼數據庫: mysql> SHOW DATABASES; 2:2、創建一個數據庫MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:選擇你所創建的數據庫 mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!) 4:查看現在的數據庫中存在什麼表 mysql> SHOW TABLES; 5:創建一個數據庫表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:顯示錶的結構: mysql> DESCRIBE MYTABLE; 7:往表中加入記錄 mysql> insert into MYTABLE values ("hyq","M"); 8:用文本方式將數據裝入數據庫表中(例如D:/mysql.txt) mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; 9:導入.sql文件命令(例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 10:刪除表 mysql>drop TABLE MYTABLE; 11:清空表 mysql>delete from MYTABLE; 12:更新表中數據 mysql>update MYTABLE set sex="f" where name='hyq'; 以下是無意中在網絡看到的使用MySql的管理心得, 摘自:http://www1.xjtusky.com/article/htmldata/2004_12/3/57/article_1060_1.html 在windows中MySql以服務形式存在,在使用前應確保此服務已經啓動,未啓動可用net start mysql命令啓動。而Linux中啓動時可用“/etc/rc.d/init.d/mysqld start"命令,注意啓動者應具有管理員權限。 剛安裝好的MySql包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對於一些重要的應用我們應將安全性儘可能提高,在這裏應把匿名帳戶刪除、 root帳戶設置密碼,可用如下命令進行: use mysql; delete from User where User=""; update User set Password=PASSWORD('newpassword') where User='root'; 如果要對用戶所用的登錄終端進行限制,可以更新User表中相應用戶的Host字段,在進行了以上更改後應重新啓動數據庫服務,此時登錄時可用如下類似命令: mysql -uroot -p; mysql -uroot -pnewpassword; mysql mydb -uroot -p; mysql mydb -uroot -pnewpassword; 上面命令參數是常用參數的一部分,詳細情況可參考文檔。此處的mydb是要登錄的數據庫的名稱。 在進行開發和實際應用中,用戶不應該只用root用戶進行連接數據庫,雖然使用root用戶進行測試時很方便,但會給系統帶來重大安全隱患,也不利於管理技術的提高。我們給一個應用中使用的用戶賦予最恰當的數據庫權限。如一個只進行數據插入的用戶不應賦予其刪除數據的權限。MySql的用戶管理是通過User表來實現的,添加新用戶常用的方法有兩個,一是在User表插入相應的數據行,同時設置相應的權限;二是通過GRANT命令創建具有某種權限的用戶。其中GRANT的常用用法如下: grant all on mydb.* to NewUserName@HostName identified by "password" ; grant usage on *.* to NewUserName@HostName identified by "password"; grant select,insert,update on mydb.* to NewUserName@HostName identified by "password"; grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password"; 若要給此用戶賦予他在相應對象上的權限的管理能力,可在GRANT後面添加WITH GRANT OPTION選項。而對於用插入User表添加的用戶,Password字段應用PASSWORD 函數進行更新加密,以防不軌之人竊看密碼。對於那些已經不用的用戶應給予清除,權限過界的用戶應及時回收權限,回收權限可以通過更新User表相應字段,也可以使用REVOKE操作。 下面給出本人從其它資料(www.cn-java.com)獲得的對常用權限的解釋: 全局管理權限: FILE: 在MySQL服務器上讀寫文件。 PROCESS: 顯示或殺死屬於其它用戶的服務線程。 RELOAD: 重載訪問控制表,刷新日誌等。 SHUTDOWN: 關閉MySQL服務。 數據庫/數據表/數據列權限: ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。 CREATE: 建立新的數據庫或數據表。 DELETE: 刪除表的記錄。 DROP: 刪除數據表或數據庫。 INDEX: 建立或刪除索引。 INSERT: 增加表的記錄。 SELECT: 顯示/搜索表的記錄。 UPDATE: 修改表中已存在的記錄。 特別的權限: ALL: 允許做任何事(和root一樣)。 USAGE: 只允許登錄--其它什麼也不允許做。 關於授權和建立用戶的問題
以下命令:
以root連接到服務器上後,可以添加新賬戶。下面的語句使用GRANT來設置四個新賬戶: mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> IDENTIFIED BY 'some_pass' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' -> IDENTIFIED BY 'some_pass' WITH GRANT OPTION; mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost'; mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost'; 用GRANT語句創建的賬戶有下面的屬性: · 其中兩個賬戶有相同的用戶名monty和密碼some_pass。兩個賬戶均爲超級用戶賬戶,具有完全的權限可以做任何事情。一個賬戶 ('monty'@'localhost')只用於從本機連接時。另一個賬戶('monty'@'%')可用於從其它主機連接。請注意monty的兩個賬戶必須能從任何主機以monty連接。沒有localhost賬戶,當monty從本機連接時,mysql_install_db創建的localhost的匿名用戶賬戶將佔先。結果是,monty將被視爲匿名用戶。原因是匿名用戶賬戶的Host列值比'monty'@'%'賬戶更具體,這樣在user表排序順序中排在前面 |