第一步:安裝MySQL客戶端
公司主營業(yè)務:網(wǎng)站設計、網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出洪洞免費做網(wǎng)站回饋大家。
當然你得確保MySQL客戶端已經(jīng)安裝完畢。如果沒有的話,可以按照下面的方法。
在Debian,Ubuntu 或者 Linux Mint上:
$ sudo apt-get install mysql-client
$ sudo apt-get install mysql
第二步:登陸到MySQL服務器
首先,你需要使用root用戶登陸進你的MySQL數(shù)據(jù)庫,如下:
$ mysql -u root -h -p
請注意:為了能登進遠程的MySQL服務器,你需要開啟服務器上的遠程訪問,如果你想調(diào)用同一主機上的MySQL服務器,你可以省略 "-h " 參數(shù)
$ mysql -u root -p
你將需要輸入MySQL服務器的密碼,如果認證成功,MySQL提示將會出現(xiàn)。
第三步:創(chuàng)建一個MySQL數(shù)據(jù)庫
在MySQL提示中輸入命令之前,請記住所有的命令都是以分號結束的(否則將不會執(zhí)行)。另外,考慮輸入命令的時候使用大些字母,輸入數(shù)據(jù)庫對象使用小寫字母。但那不是必須的,只是方便的閱讀。
現(xiàn)在,創(chuàng)建一個叫做xmodulo_DB的數(shù)據(jù)庫:
mysql CREATE DATABASE IF NOT EXISTS xmodulo_DB;
第四步:創(chuàng)建一個數(shù)據(jù)庫表
為了達到演示的目的,創(chuàng)建一個叫做posts_tbl的表,表里會存儲關于文章的如下信息:
文章的標題
作者的名字
作者的姓
文章可用或者不可用
文章創(chuàng)建的日期
這個過程分兩步執(zhí)行:
首先,選擇需要使用的數(shù)據(jù)庫:
mysql USE xmodulo_DB;
然后,在數(shù)據(jù)庫中創(chuàng)建新表:
mysql CREATE TABLE 'posts_tbl' (
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL ,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( 'post_id' )
TYPE = MYISAM;
第五步:創(chuàng)建一個用戶,并授予權限
當涉及到訪問新創(chuàng)的數(shù)據(jù)庫和表的時候,創(chuàng)建一個新用戶是一個很好的主意。這樣做就可以讓用戶在沒有整個MySQL服務器權限的情況下,去訪問那個數(shù)據(jù)庫(而且只能是那個數(shù)據(jù)庫)
你可以創(chuàng)建新用戶,授予權限,并且使改變生效:
mysql GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql FLUSH PRIVILEGES;
'newuser'和'newpassword'分別指的是新的用戶名和他的密碼。這條信息將會被保存在mysql.user表中,而且密碼會被加密。
第六步:測試
先插入一個虛擬的記錄到posts_tbl表:
mysql USE xmodulo_DB;
mysql INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES ('Hi! This is some dummy text.', 'Gabriel', 'Canepa');
然后查看posts_tbl表中的所有記錄:
mysql SELECT * FROM posts_tbl;
注意:MySQL會在先前定義的地方自動插入適當?shù)哪J值(比如,'isEnabled'和'date')。
MySQL添加用戶、刪除用戶與授權
MySql中添加用戶,新建數(shù)據(jù)庫,用戶授權,刪除用戶,修改密碼(注意每行后邊都跟個;表示一個命令語句結束):
1.新建用戶
1.1
登錄MYSQL:
@mysql
-u
root
-p
@密碼
1.2
創(chuàng)建用戶:
mysql
insert
into
mysql.user(Host,User,Password)
values("localhost","test",password("1234"));
這樣就創(chuàng)建了一個名為:test
密碼為:1234
的用戶。
注意:此處的"localhost",是指該用戶只能在本地登錄,不能在另外一臺機器上遠程登錄。如果想遠程登錄的話,將"localhost"改為"%",表示在任何一臺電腦上都可以登錄。也可以指定某臺機器可以遠程登錄。
1.3
然后登錄一下:
mysqlexit;
@mysql
-u
test
-p
@輸入密碼
mysql登錄成功
2.為用戶授權
授權格式:grant
權限
on
數(shù)據(jù)庫.*
to
用戶名@登錄主機
identified
by
"密碼";
2.1
登錄MYSQL(有ROOT權限),這里以ROOT身份登錄:
@mysql
-u
root
-p
@密碼
2.2
首先為用戶創(chuàng)建一個數(shù)據(jù)庫(testDB):
mysqlcreate
database
testDB;
2.3
授權test用戶擁有testDB數(shù)據(jù)庫的所有權限(某個數(shù)據(jù)庫的所有權限):
mysqlgrant
all
privileges
on
testDB.*
to
test@localhost
identified
by
'1234';
mysqlflush
privileges;//刷新系統(tǒng)權限表
格式:grant
權限
on
數(shù)據(jù)庫.*
to
用戶名@登錄主機
identified
by
"密碼";
2.4
如果想指定部分權限給一用戶,可以這樣來寫:
mysqlgrant
select,update
on
testDB.*
to
test@localhost
identified
by
'1234';
mysqlflush
privileges;
//刷新系統(tǒng)權限表
2.5
授權test用戶擁有所有數(shù)據(jù)庫的某些權限:
mysqlgrant
select,delete,update,create,drop
on
*.*
to
test@"%"
identified
by
"1234";
//test用戶對所有數(shù)據(jù)庫都有select,delete,update,create,drop
權限。
//@"%"
表示對所有非本地主機授權,不包括localhost。(localhost地址設為127.0.0.1,如果設為真實的本地地址,不知道是否可以,沒有驗證。)
//對localhost授權:加上一句grant
all
privileges
on
testDB.*
to
test@localhost
identified
by
'1234';即可。
3.
刪除用戶
@mysql
-u
root
-p
@密碼
mysqlDelete
FROM
user
Where
User='test'
and
Host='localhost';
mysqlflush
privileges;
mysqldrop
database
testDB;
//刪除用戶的數(shù)據(jù)庫
刪除賬戶及權限:drop
user
用戶名@'%';
drop
user
用戶名@
localhost;
4.
修改指定用戶密碼
@mysql
-u
root
-p
@密碼
mysqlupdate
mysql.user
set
password=password('新密碼')
where
User="test"
and
Host="localhost";
mysqlflush
privileges;
5.
列出所有數(shù)據(jù)庫
mysqlshow
database;
6.
切換數(shù)據(jù)庫
mysqluse
'數(shù)據(jù)庫名';
7.
列出所有表
mysqlshow
tables;
8.
顯示數(shù)據(jù)表結構
mysqldescribe
表名;
9.
刪除數(shù)據(jù)庫和數(shù)據(jù)表
mysqldrop
database
數(shù)據(jù)庫名;
mysqldrop
table
數(shù)據(jù)表名;
CREATE?USER?'username'@'%'?IDENTIFIED?BY?'password';
上述語句為創(chuàng)建數(shù)據(jù)庫用戶username并設置密碼為passwd。
GRANT?ALL?PRIVILEGES?ON?*.*?TO?'username'@'%'?IDENTIFIED?BY?'password'?WITH?GRANT?OPTION;
上述語句意思為username用戶賦上所有主機訪問權限。