明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

對(duì)于MYSQL命令行模式管理的問(wèn)題

[摘要]這篇文章主要介紹了關(guān)于MYSQL命令行模式管理的問(wèn)題,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下MySql數(shù)據(jù)庫(kù)是中小型網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)的首選,因?yàn)樗鼘?duì)非商業(yè)應(yīng)用是免費(fèi)的.網(wǎng)站開(kāi)發(fā)者...
這篇文章主要介紹了關(guān)于MYSQL命令行模式管理的問(wèn)題,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

MySql數(shù)據(jù)庫(kù)是中小型網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)的首選,因?yàn)樗鼘?duì)非商業(yè)應(yīng)用是免費(fèi)的.網(wǎng)站開(kāi)發(fā)者可以搭建一個(gè)"Linux+Apache+PHP+MySql"平臺(tái),這是一個(gè)最省錢(qián)的高效平臺(tái).在使用MySql進(jìn)行開(kāi)發(fā)時(shí),MySql自帶的文檔對(duì)于新手來(lái)說(shuō)是份很好的參考資料.本文是我在使用MySql中的小小心得。
當(dāng)前一般用戶(hù)的開(kāi)發(fā)環(huán)境多是Windows或Linux,用戶(hù)可以到http://www.codepub.com/software/index.html下載相關(guān)版本進(jìn)行安裝,在windows中MySql以服務(wù)形式存在,在使用前應(yīng)確保此服務(wù)已經(jīng)啟動(dòng),未啟動(dòng)可用net start mysql命令啟動(dòng)。而Linux中啟動(dòng)時(shí)可用“/etc/rc.d/init.d/mysqld start"命令,注意啟動(dòng)者應(yīng)具有管理員權(quán)限。
剛安裝好的MySql包含一個(gè)含空密碼的root帳戶(hù)和一個(gè)匿名帳戶(hù),這是很大的安全隱患,對(duì)于一些重要的應(yīng)用我們應(yīng)將安全性盡可能提高,在這里應(yīng)把匿名帳戶(hù)刪除、 root帳戶(hù)設(shè)置密碼,可用如下命令進(jìn)行:

use mysql; 
delete from User where User=""; 
update User set Password=PASSWORD('newpassword') where User='root';

如果要對(duì)用戶(hù)所用的登錄終端進(jìn)行限制,可以更新User表中相應(yīng)用戶(hù)的Host字段,在進(jìn)行了以上更改后應(yīng)重新啟動(dòng)數(shù)據(jù)庫(kù)服務(wù),此時(shí)登錄時(shí)可用如下類(lèi)似命令:

mysql -uroot -p; 
mysql -uroot -pnewpassword; 
mysql mydb -uroot -p; 
mysql mydb -uroot -pnewpassword;

上面命令參數(shù)是常用參數(shù)的一部分,詳細(xì)情況可參考文檔。此處的mydb是要登錄的數(shù)據(jù)庫(kù)的名稱(chēng)。
在進(jìn)行開(kāi)發(fā)和實(shí)際應(yīng)用中,用戶(hù)不應(yīng)該只用root用戶(hù)進(jìn)行連接數(shù)據(jù)庫(kù),雖然使用root用戶(hù)進(jìn)行測(cè)試時(shí)很方便,但會(huì)給系統(tǒng)帶來(lái)重大安全隱患,也不利于管理技術(shù)的提高。我們給一個(gè)應(yīng)用中使用的用戶(hù)賦予最恰當(dāng)?shù)臄?shù)據(jù)庫(kù)權(quán)限。如一個(gè)只進(jìn)行數(shù)據(jù)插入的用戶(hù)不應(yīng)賦予其刪除數(shù)據(jù)的權(quán)限。MySql的用戶(hù)管理是通過(guò)User表來(lái)實(shí)現(xiàn)的,添加新用戶(hù)常用的方法有兩個(gè),一是在User表插入相應(yīng)的數(shù)據(jù)行,同時(shí)設(shè)置相應(yīng)的權(quán)限;二是通過(guò)GRANT命令創(chuàng)建具有某種權(quán)限的用戶(hù)。其中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";
若要給此用戶(hù)賦予他在相應(yīng)對(duì)象上的權(quán)限的管理能力,可在GRANT后面添加WITH GRANT OPTION選項(xiàng)。而對(duì)于用插入U(xiǎn)ser表添加的用戶(hù),Password字段應(yīng)用PASSWORD 函數(shù)進(jìn)行更新加密,以防不軌之人竊看密碼。對(duì)于那些已經(jīng)不用的用戶(hù)應(yīng)給予清除,權(quán)限過(guò)界的用戶(hù)應(yīng)及時(shí)回收權(quán)限,回收權(quán)限可以通過(guò)更新User表相應(yīng)字段,也可以使用REVOKE操作。
下面給出本人從其它資料(www.cn-java.com)獲得的對(duì)常用權(quán)限的解釋?zhuān)?
全局管理權(quán)限:
FILE: 在MySQL服務(wù)器上讀寫(xiě)文件。
PROCESS: 顯示或殺死屬于其它用戶(hù)的服務(wù)線(xiàn)程。
RELOAD: 重載訪(fǎng)問(wèn)控制表,刷新日志等。
SHUTDOWN: 關(guān)閉MySQL服務(wù)。
數(shù)據(jù)庫(kù)/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限:
Alter: 修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引。
Create: 建立新的數(shù)據(jù)庫(kù)或數(shù)據(jù)表。
Delete: 刪除表的記錄。
Drop: 刪除數(shù)據(jù)表或數(shù)據(jù)庫(kù)。
INDEX: 建立或刪除索引。
Insert: 增加表的記錄。
Select: 顯示/搜索表的記錄。
Update: 修改表中已存在的記錄。
特別的權(quán)限:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄--其它什么也不允許做。
最后給出本人在RedHat9.0下的MySql操作演示:
選用數(shù)據(jù)庫(kù)的root用戶(hù)登錄

[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腳本,其內(nèi)容為:
Insert into TestTable(UserName,Address)values('Tom','shanghai');
Insert into TestTable(UserName,Address)values('John','beijing');
select * from TestTable;
運(yùn)行已經(jīng)編輯好的SQL腳本可以用source filename 或 .\ filename。
以上只是對(duì)新手的簡(jiǎn)單練習(xí),要成為一個(gè)數(shù)據(jù)庫(kù)好手,當(dāng)以孜孜不倦地追求知識(shí),不斷地思考、嘗試、再思考。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
MySql常用命令總結(jié)
這兩天搞個(gè)網(wǎng)站,又用到MySql,可是命令卻一個(gè)都想不起來(lái),所以,趁這次機(jī)會(huì),把這些整理一下,權(quán)當(dāng)作筆記吧,以便自己以后查閱!
1:使用SHOW語(yǔ)句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫(kù):

 mysql> SHOW DATABASES;

2:2、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)MYSQLDATA

  mysql> Create DATABASE MYSQLDATA;

3:選擇你所創(chuàng)建的數(shù)據(jù)庫(kù)

  mysql> USE MYSQLDATA; (按回車(chē)鍵出現(xiàn)Database changed 時(shí)說(shuō)明操作成功!)

4:查看現(xiàn)在的數(shù)據(jù)庫(kù)中存在什么表

  mysql> SHOW TABLES;

5:創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)表

mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6:顯示表的結(jié)構(gòu):

  mysql> DESCRIBE MYTABLE;

7:往表中加入記錄

 mysql> insert into MYTABLE values ("hyq","M");

8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫(kù)表中(例如D:/mysql.txt)

 mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

9:導(dǎo)入.sql文件命令(例如D:/mysql.sql)

mysql>use database;  
  mysql>source d:/mysql.sql;

10:刪除表

 mysql>drop TABLE MYTABLE;

11:清空表

  mysql>delete from MYTABLE;

12:更新表中數(shù)據(jù)

mysql>update MYTABLE set sex="f" where name='hyq';

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP中文網(wǎng)!

相關(guān)推薦:

mysql 中use mysql denied_MySQL

以上就是關(guān)于MYSQL命令行模式管理的問(wèn)題的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。