關于MYSQL命令行模式管理的問題

這篇文章主要介紹了關于mysql命令行模式管理的問題,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

MySql數據庫是中小型網站后臺數據庫的首選,因為它對非商業應用是免費的.網站開發者可以搭建一個”Linux+Apache+PHP+MySql”平臺,這是一個最省錢的高效平臺.在使用MySql進行開發時,MySql自帶的文檔對于新手來說是份很好的參考資料.本文是我在使用MySql中的小小心得。
當前一般用戶的開發環境多是Windows或Linux,用戶可以到http://www.codepub.com/software/index.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:?只允許登錄–其它什么也不允許做。?
最后給出本人在RedHat9.0下的MySql操作演示:
選用數據庫的root用戶登錄

[weiwen@weiwenlinux]$mysql?-uroot?-p? Enter?password:MyPassword? mysql>create?database?mydb;? Query?OK,?1?row?affected?(0.02?sec)? mysql>use?mydb;? Database?changed? mysql>create?table?TestTable(Id?int?aut_increment?primary?key,? UserName?varchar(16)?not?null,? Address?varchar(255));? Query?OK,?0?rows?affected?(0.02?sec)? mysql>grant?all?on?mydb.*?to?test@localhost?identified?by?"test";? Query?OK,?0?rows?affected?(0.01?sec)? mysql>quit? Bye? [weiwen@weiwenlinux]$mysql?mydb?-utest?-ptest

其中test.sql是用vi編輯好的SQL腳本,其內容為:
Insert?into?TestTable(UserName,Address)values(‘Tom’,’shanghai’);
Insert?into?TestTable(UserName,Address)values(‘John’,’beijing’);
select?*?from?TestTable;
運行已經編輯好的SQL腳本可以用source?filename?或?.?filename。
以上只是對新手的簡單練習,要成為一個數據庫好手,當以孜孜不倦地追求知識,不斷地思考、嘗試、再思考。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
MySql常用命令總結??
這兩天搞個網站,又用到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';

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享