ubuntu14.04 mysql使用者許可權操作實錄
阿新 • • 發佈:2019-01-09
1.系統環境
ubuntu server 14.04
2.mysql
安裝ubuntu時,自帶的mysql
3.啟動mysql
方式一:sudo /etc/init.d/mysql start
第一個星號:資料庫名
第二個星號:表名
%:表示所有ip均可訪問,如果把%換成"192.168.11.11",那麼就只有通過192.168.11.11連線mysql,才能訪問mysql
flush privileges; (重新整理修改)
舉個例子:
grant all on bolo.* to [email protected]"%" identified by '123';
flush privileges;
之行之後,
mysql -h(mysql的ip) -p3306 -usim -p123
可以登入mysql,但是showdatabases後,只能看到下面的內容
也就是說,sim這個使用者,只有bolo這個資料庫的許可權mysql> use bolo; Database changed mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | bolo | +--------------------+
7.修改使用者許可權
怎麼才能讓sim這個使用者看到更多的資料庫呢?比如可以看見mysql庫,和performance_schema庫
當然,我們可以在一開始就執行
grant all on *.* to [email protected]"%" identified by '123';
flush privileges;
注意,我把 bolo.* 改成了 *.*接下來,再次登入資料庫
可以看到,sim使用者可以看到所有的庫了,很厲害吧mysql -h(mysql的ip) -p3306 -usim -p123 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | bolo | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)
但是我覺得這樣操作不方便,我更傾向直接修改資料庫中控制權限的表資料,下面來操作
首先,我們用/etc/mysql/debian.cnf檔案中的使用者登入mysql
這個使用者很厲害,許可權很高,登入進入之後執行
show databases 可以看到所有庫
use mysql;
select Host, User, Password from user;
會看到剛才增加的sim使用者
mysql> select Host, Db, User from db;
+------+---------+---------+
| Host | Db | User |
+------+---------+---------+
| % | % | root |
| % | bolo | sim |
+------+---------+---------+
可以看到sim這個使用者對應的資料庫時bolo,那麼我們只需要把sim的Db欄位值改成%就可以讓sim使用者操作所有的庫了update db set Db='%' where User = 'sim';
flush privileges;
再檢視下db表的內容
mysql> select Host, Db, User from db;
+------+---------+---------+
| Host | Db | User |
+------+---------+---------+
| % | % | root |
| % | % | sim |
+------+---------+---------+
這樣,再次用sim使用者登入mysql,就可以看到所有的資料庫
mysql -h(mysql的ip) -p3306 -usim -p123
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bolo |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
8.修改使用者密碼
如何修改使用者密碼呢?
很簡單呀,改記得剛才的select Host, User, Password from user;嗎
那麼只要
update User set Password='新密碼' where User='sim';
就闊以啦