標籤:
一、 使用者登入
格式: mysql -h主機地址 -u使用者名稱 -p使用者密碼
mysql -h110.110.110.110 -uroot -p123
本地可以直接mysql –uroot -p
二、 使用者退出
exit、quit
三、 添加使用者
mysql.user表儲存的是使用者的登入資訊
- 直接添加無許可權
insert into mysql.user (host,user,password) values(‘%‘,‘jifei‘,PASSWORD(‘jifei‘));
- 添加並賦權
grant select on 資料庫.* to ‘使用者名稱‘@‘登入主機‘ identified by ‘密碼‘
四、 使用者權限
- 添加許可權
grant 許可權 on 資料庫.表 to ‘使用者名稱‘@‘登入主機‘;
許可權: select ,update,delete,insert(表資料)、create,alert,drop(表結構)、references(外鍵)、create temporary tables(建立暫存資料表)、index(操作索引)、create view,show view(視圖)、create routine,alert routine,execute(預存程序)、all,all privileges(所有許可權)
資料庫:資料庫名或者*(所有資料庫)
表:表名或者*(某資料庫下所有表)
主機:主機名稱或者%(任何其他主機)
例:grant selec,insert,update,delete on *.* to ‘jifei‘@‘%‘;
- 撤銷許可權
revoke 許可權 on 資料庫.表 from ‘使用者名稱‘@‘登入主機‘;//將to改為from
例:revoke all on *.* from ‘jifei’@’%’;
- 查看許可權
show grants;//自己
show grants for [email protected];//指定使用者指定host
五、 刪除使用者
delete from mysql.user where user=‘‘ and host=‘‘;
六、 修改密碼
update mysql.user set password=PASSWORD(‘111111‘) where user=‘root‘;
七、 找回密碼
- 關閉mysql服務
killall -TERM mysqld
- 修改設定檔
vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
- 重啟mysqld
service mysqld restart
- 登入
mysql -uroot -p
- 修改密碼
update mysql.user set password=PASSWORD(‘111111‘) where user=‘root‘;
flush privileges;//重新整理許可權
- 修改設定檔
vi /etc/my.cnf
去掉之前的改動
- 重啟服務
- 設定遠端使用者
八、 遠端使用者
① 限制在指定ip登入host為ip詳情請看 添加許可權
② 在任意遠程ip登入host為%詳情請看 添加許可權
- 遠端存取
mysql -h110.110.110.110 -uroot -p123;//指定h為ip詳情請看 使用者登入
一些標準執行個體:
1. mysql.user表執行個體:一般來說,Host欄位都使用ip來限制,而不是機器名(機器名可變,不是特別靠譜)
select Host, User from user;
| 172.17.% | dev |
| 172.17.0.% | export |
| 172.17.0.20 | demo |
| 172.28.0.% | dev |
| 192.168.% | dev |
| 110.111.126.% | demo |
| 110.111.126.103 | helper |
| 110.111.127.% | webnav |
| localhost | backup |
| localhost | backupdata |
| localhost | root |
+-----------------+-----------------+
2. 授權執行個體:show grants for ‘helper‘@‘110.111.127.%‘
+--------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO ‘helper‘@‘110.111.127.%‘ IDENTIFIED BY PASSWORD ‘xxxxxxxxxxxxxxxxx‘ WITH MAX_USER_CONNECTIONS 200 |
| GRANT ALL PRIVILEGES ON `helper_online`.* TO ‘helper‘@‘110.111.127.%‘ |
+--------------------------------------------------------------------------------------------------------------------------------------------------+
MYSQL使用者管理