共計(jì) 3517 個(gè)字符,預(yù)計(jì)需要花費(fèi) 9 分鐘才能閱讀完成。
自動(dòng)寫(xiě)代碼機(jī)器人,免費(fèi)開(kāi)通
丸趣 TV 小編給大家分享一下 MYSQL 命令行模式管理的問(wè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è)最省錢的高效平臺(tái). 在使用 MySql 進(jìn)行開(kāi)發(fā)時(shí),MySql 自帶的文檔對(duì)于新手來(lái)說(shuō)是份很好的參考資料. 本文是我在使用 MySql 中的小小心得。
當(dāng)前一般用戶的開(kāi)發(fā)環(huán)境多是 Windows 或 Linux,用戶可以到 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 帳戶和一個(gè)匿名帳戶,這是很大的安全隱患,對(duì)于一些重要的應(yīng)用我們應(yīng)將安全性盡可能提高,在這里應(yīng)把匿名帳戶刪除、root 帳戶設(shè)置密碼,可用如下命令進(jìn)行:
use mysql;
delete from User where User=
update User set Password=PASSWORD(newpassword) where User= root
如果要對(duì)用戶所用的登錄終端進(jìn)行限制,可以更新 User 表中相應(yīng)用戶的 Host 字段,在進(jìn)行了以上更改后應(yīng)重新啟動(dòng)數(shù)據(jù)庫(kù)服務(wù),此時(shí)登錄時(shí)可用如下類似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
上面命令參數(shù)是常用參數(shù)的一部分,詳細(xì)情況可參考文檔。此處的 mydb 是要登錄的數(shù)據(jù)庫(kù)的名稱。
在進(jìn)行開(kāi)發(fā)和實(shí)際應(yīng)用中,用戶不應(yīng)該只用 root 用戶進(jìn)行連接數(shù)據(jù)庫(kù),雖然使用 root 用戶進(jìn)行測(cè)試時(shí)很方便,但會(huì)給系統(tǒng)帶來(lái)重大安全隱患,也不利于管理技術(shù)的提高。我們給一個(gè)應(yīng)用中使用的用戶賦予最恰當(dāng)?shù)臄?shù)據(jù)庫(kù)權(quán)限。如一個(gè)只進(jìn)行數(shù)據(jù)插入的用戶不應(yīng)賦予其刪除數(shù)據(jù)的權(quán)限。MySql 的用戶管理是通過(guò) User 表來(lái)實(shí)現(xiàn)的,添加新用戶常用的方法有兩個(gè),一是在 User 表插入相應(yīng)的數(shù)據(jù)行,同時(shí)設(shè)置相應(yīng)的權(quán)限;二是通過(guò) GRANT 命令創(chuàng)建具有某種權(quán)限的用戶。其中 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
若要給此用戶賦予他在相應(yīng)對(duì)象上的權(quán)限的管理能力,可在 GRANT 后面添加 WITH GRANT OPTION 選項(xiàng)。而對(duì)于用插入 User 表添加的用戶,Password 字段應(yīng)用 PASSWORD 函數(shù)進(jìn)行更新加密,以防不軌之人竊看密碼。對(duì)于那些已經(jīng)不用的用戶應(yīng)給予清除,權(quán)限過(guò)界的用戶應(yīng)及時(shí)回收權(quán)限,回收權(quán)限可以通過(guò)更新 User 表相應(yīng)字段,也可以使用 REVOKE 操作。
下面給出本人從其它資料 (www.cn-java.com) 獲得的對(duì)常用權(quán)限的解釋:
全局管理權(quán)限:
FILE: 在 MySQL 服務(wù)器上讀寫(xiě)文件。
PROCESS: 顯示或殺死屬于其它用戶的服務(wù)線程。
RELOAD: 重載訪問(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 用戶登錄
[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; (按回車鍵出現(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
以上是“MYSQL 命令行模式管理的問(wèn)題分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!
向 AI 問(wèn)一下細(xì)節(jié)