管理MySql一些竅門
當前一般使用者的開發環境多是Windows或Linux,使用者可以到下載相關版本進行安裝,在 windows中MySql以服務形式存在,在使用前應確保此服務已經啟動,未啟動可用net start mysql命令啟動。
MySQL資料庫是中小型網站後臺資料庫的首選,因為它對非商業應用是免費的.網站開發者可以搭建一個"Linux+Apache+PHP+MySql" 平臺,這是一個最省錢的高效平臺.在使用MySql進行開發時,MySql自帶的文件對於新手來說是份很好的參考資料.本文是我在使用MySql中的小小心得。
當前一般使用者的開發環境多是Windows或Linux,使用者可以到下載相關版本進行安裝,在 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操作。
下面給出本人從其它資料()獲得的對常用許可權的解釋:
全域性管理許可權:
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。
以上只是對新手的簡單練習,要成為一個資料庫好手,當以孜孜不倦地追求知識,不斷地思考、嘗試、再思考。
http://blog.chinaunix.net/uid-30065054-id-5753658.html
http://blog.itpub.net/30065054/viewspace-2126796/
http://blog.csdn.net/sinat_36394053/article/details/52870196
http://aqiandao.iteye.com/admin/blogs/2331788
http://run.gmw.cn/blog-1873077-177779.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30065054/viewspace-2126871/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於dmserver使用的一些竅門Server
- Xcode sourceEdit編輯小竅門XCode
- 5 分鐘掌握 JavaScript 實用竅門JavaScript
- 小遊戲流量變現都有哪些竅門?遊戲
- 【小竅門tip】oracle sequence 修改增量值Oracle
- 軟體工程師如何拿高薪的竅門軟體工程工程師高薪
- 保護Solaris系統安全小竅門(轉)
- Java怎麼學?分享6個學習竅門Java
- 大資料雲安全策略4大竅門大資料
- 提高Python執行效率的六個竅門Python
- 智慧經營系統實現智慧門店有什麼竅門?
- 揭秘線下門店成功完成智慧經營“蛻變”竅門—微小程
- 45個有用的JavaScript技巧,竅門和最佳實踐JavaScript
- JavaScript 前端效能優化小竅門例項彙總JavaScript前端優化
- 異常高效使用小竅門 — 讀Scala原始碼有感原始碼
- 雲端計算時代資料安全的三大竅門
- 在升級的時候使用VNC的小竅門VNC
- 邦芒面試:職場面試成功“透過”四大竅門面試
- 《warframe》經濟系統分析——DE控制白金產出竅門
- 插圖小竅門可有效控制PPT檔案體積
- 45個實用的JavaScript技巧、竅門和最佳實踐JavaScript
- 簡化IT程式設計師工作生活的4個竅門程式設計師
- [MySQL光速入門]031 許可權管理MySql
- 怎麼快速掌握原生JavaScript 有沒有小竅門借鑑JavaScript
- 10個實用的UX設計作品推銷小竅門UX
- 快速提高程式設計技術的幾個小竅門程式設計
- Win7系統的筆記本設定小竅門Win7筆記
- 讓我們寫快速的JavaScript,JS效能優化小竅門JavaScriptJS優化
- sqlplus小竅門:執行作業系統命令(zt)SQL作業系統
- 《MySQL 入門教程》第 03 篇 管理資料庫MySql資料庫
- 少走些彎路-學習Linux的竅門與經驗Linux
- 少走些彎路---學習Linux的竅門與經驗Linux
- 感恩節快樂,PM2小竅門致NodeJS開發者!NodeJS
- 提升WiFi速度的小竅門 WiFi速度慢是什麼原因?WiFi
- MySQL入門--mysql命令MySql
- MySQL入門--MySQL安全MySql
- [MySQL光速入門]029 資料庫管理和維護MySql資料庫
- MySql的一些用法MySql