linux Grant 添加 MySql 使用者

來源:互聯網
上載者:User

標籤:

Grant 添加 MySql 使用者2009-04-03 14:40

我安裝的版本:

mysql> select version();
+------------+
| version()   |
+------------+
| 5.0.22-log |
+------------+
1 row in set (0.05 sec)

添加使用者:

mysql> grant select,update,insert,delete on *.* to [email protected] identified by "jimmy";
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
+-----------+--------+-------------------------------------------+
| host       | user    | password                                   |
+-----------+--------+-------------------------------------------+
| localhost | root    |                                            |
| AS3        | root    |                                            |
| AS3        |         |                                            |
| localhost |         |                                            |
| AS3        | yuanjl | 550185cd02026208                           |
| localhost | yuanjl | 550185cd02026208                           |
| AS3        | jimmy   | *1E7F320B8F580AADC02E8A70285E46A8CFDA3359 |
+-----------+--------+-------------------------------------------+
7 rows in set (0.00 sec)

mysql> quit
Bye
[[email protected] mysql-5.0.22]# mysql -pjimmy -u jimmy -h AS3 mysql
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client
[r[email protected] mysql-5.0.22]# mysql -u root -h AS3 mysql
Welcome to the MySQL monitor.   Commands end with ; or /g.
Your MySQL connection id is 36 to server version: 5.0.22-log

Type ‘help;‘ or ‘/h‘ for help. Type ‘/c‘ to clear the buffer.

mysql> update user set password=old_password(‘jimmy‘) where user=‘jimmy‘ and host=‘AS3‘;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1   Changed: 1   Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
[[email protected] mysql-5.0.22]# mysql -pjimmy -u jimmy -h AS3 mysql
Welcome to the MySQL monitor.   Commands end with ; or /g.
Your MySQL connection id is 37 to server version: 5.0.22-log

Type ‘help;‘ or ‘/h‘ for help. Type ‘/c‘ to clear the buffer.

mysql>

 

 


2、Mysql添加使用者



個人教訓,在添加Mysql帳號的時候,一定要主義使用者名稱和主機(local和%)均要被引號引起,否則命令即錯



命令方式的.注意每行後邊都跟個 ; 表示一個命令語句結束.

格式:grant select on 資料庫.* to “使用者名稱”@“登入主機” identified by "密碼";



例1、增加一個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root使用者連入MYSQL,然後鍵入以下命令:

grant select,insert,update,delete on *.* to “test1”@"%" Identified by "abc"; 



補充所有許可權語句:

由例1得: 將執行許可權(select,insert,....)改為all privileges,即表示擁有所有許可權,包括建立資料庫許可權,刪除資料庫,已經不局限於在一個資料庫內操作

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘; 



例1(非補充)中增加的使用者是十分危險的,因為你的主機是%,%即代表任意位置的主機,而local即詞義"本地",假如,某個人想知道test1的密 碼,那麼他就可以在internet上的任何一台電腦上串連到你的mysql資料庫並對你的資料可以為所欲為了,解決辦法見例2。



根據例1補充語句,此語句盡量不要在Mysql伺服器上使用,如果你的伺服器處於託管或遠端地帶,如果你需要遠端管理Mysql伺服器,而由不想通過超級 終端登入到伺服器上,那麼你只好用此語句,但要清楚一件事,即你能使用此方法串連伺服器,其他人也可以,所以要保管好你的mysql密碼



例2、 增加一個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作 (localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,他也無法從internet上直接存取資料 庫,只能通過MYSQL主機上的web頁來訪問了。 



grant select,insert,update,delete on mydb.* to “test2”@localhost identified by "abc";

如果你不想test2有密碼,可以再打一個命令將密碼消掉。

grant select,insert,update,delete on mydb.* to “test2”@localhost identified by "";



grant select,insert,update,delete on dez.* to “test2”@"%" identified by "123456";   --------------------------- 資料庫版本類型: MYSQL 5.0.x 社區版本
資料庫重要命令:mysqldump ;mysql
系統內容: Windows Xp Sp2
樣本資料庫: Demo (內部表可自己任意建立)
資料庫使用者名稱: root (也可以是具有管理操作許可權的使用者名稱)
資料庫登入密碼: dbuserkey
測試環境中mysql已在環境變數中設定成功即 可在命令列中輸入mysql啟動mysql資料庫引擎
A,完全匯出Demo所有資料和結構 (完全備份)
在任目錄中(比如 D:/mydb )建立批次檔backup.bat,內容如下:
mysqldump -uroot -pdbuserkey --add-locks --opt Demo>D:/mydb/Demo.sql;
@pause
B,完全匯入Demo所有資料和結構 (完全恢複)
在與backup.bat同目錄中建立批次檔restore.bat 內容如下:
mysql -uroot -pdbuserkey demo<D:/mydb/Demo.sql;
@pause
C,測試
開啟mysql資料庫引擎 net start mysql
運行 A中批處理 會看到D:/mydb下產生Demo.sql 
然後執行 Drop Database Demo命令刪除Demo資料庫
建立Demo資料庫 Create Database Demo;
運行 B 中比處理 即可恢複所有資料和結構
D,常用命令
登入或串連mysql資料庫服務
mysql -h主機地址 -u使用者名稱 -p使用者密碼;
推出mysql 資料庫連接
Exit
停止本地mysql資料庫服務
Net stop mysql
修改密碼
mysqladmin -u使用者名稱 -p舊密碼 password 新密碼;
顯示資料庫列表
Show Database;
使用資料庫
Use DatabaseName;
顯示當前選擇資料庫
Select Database();
開啟表
Show TableName;
顯示資料表的結構
Describe TableName; 
當前資料庫包含的表資訊: 
Show Tables; (注意:最後有個s) 
建立資料庫
Create DataBase databaseName;
建立表
Use databaseName;
Create Table tableName (欄位設定列表);
刪庫和刪表
Drop Database databaseName;
Drop Table tableName;
將表中記錄清空
Delete From tableName;
表名字更改
Rename Table tableA to tableB; 
SQL結構化查詢語句命令見mysql doc 文檔
Mysql建立刪除使用者
Grant select,insert,update,delete on *[(資料庫)].* to 使用者名稱@登入主機 identified by "密碼" 
命令方式的.注意每行後邊都跟個 ; 表示一個命令語句結束. 
格式:grant select on 資料庫.* to 使用者名稱@登入主機 identified by "密碼" 
==以下來自網路==
例1,增加一個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢,插入,修改,刪除的許可權.首先用以root使用者連入MYSQL,然後鍵入以下命令: 
grant select,insert,update,delete on *.* to [email protected]"%" Identified by "abc"; 
例1增加的使用者是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登入你的mysql資料庫並對你的資料可以為所欲為了,解決辦法見例2. 
例 2,增加一個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢,插入,修改,刪除的操作 (localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,他也無法從internet上直接存取資料 庫,只能通過MYSQL主機上的web頁來訪問了. 
grant select,insert,update,delete on mydb.* to [email protected] identified by "abc"; 
如果你不想test2有密碼,可以再打一個命令將密碼消掉. 
grant select,insert,update,delete on mydb.* to [email protected] identified by ""; 
這樣就建立了一個名為:phplamp 密碼為:1234 的使用者. 
然後登入一下. 
mysql>exit; 
mysql -u phplamp -p 
輸入密碼 
mysql>登入成功 
2.為使用者授權. 
//登入MYSQL(有ROOT許可權).我裡我以ROOT身份登入. 
mysql -u root -p 
密碼 
//首先為使用者建立一個資料庫(phplampDB) 
mysql>create database phplampDB; 
//授權phplamp使用者擁有phplamp資料庫的所有許可權. 
>grant all privileges on phplampDB.* to [email protected] identified by ‘1234‘; 
//重新整理系統許可權表 
mysql>flush privileges; 
mysql>其它操作 
/* 
如果想指定部分許可權給一使用者,可以這樣來寫: 
mysql>grant select,update on phplampDB.* to [email protected] identified by ‘1234‘; 
//重新整理系統許可權表. 
mysql>flush privileges; 
*/ 
3.刪除使用者. 
mysql -u root -p 
密碼 
mysql>Delete FROM user Where User="phplamp" and Host="localhost"; 
mysql>flush privileges; 
//刪除使用者的資料庫 
mysql>drop database phplampDB; 
4.修改指定使用者密碼. 
mysql -u root -p 
密碼 
mysql>update mysql.user set password=password(‘新密碼‘) where User="phplamp" and Host="localhost"; 
mysql>flush privileges; 
5.列出所有資料庫 
mysql>show database; 
6.切換資料庫 
mysql>use ‘資料庫名‘; 
7.列出所有表 
mysql>show tables; 
8.顯示資料表結構 
mysql>describe 表名; 
9.刪除資料庫和資料表 
mysql>drop database 資料庫名; 
mysql>drop table 資料表名; 
10. 顯示表的結構 
describe "tabaleName"; 
cmd下串連mysql: 
mysql -uroot -p 斷行符號 注意密碼不要打在-p後面

linux Grant 添加 MySql 使用者

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.