一,、 用戶登錄
格式: 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 數(shù)據(jù)庫.* to '用戶名'@'登錄主機' identified by '密碼'
四,、 用戶權限
- 添加權限
grant 權限 on 數(shù)據(jù)庫.表 to '用戶名'@'登錄主機';
權限: select ,update,delete,insert(表數(shù)據(jù))、create,alert,drop(表結(jié)構(gòu)),、references(外鍵),、create temporary tables(創(chuàng)建臨時表)、index(操作索引),、create view,show view(視圖),、create routine,alert routine,execute(存儲過程)、all,all privileges(所有權限)
數(shù)據(jù)庫:數(shù)據(jù)庫名或者*(所有數(shù)據(jù)庫)
表:表名或者*(某數(shù)據(jù)庫下所有表)
主機:主機名或者%(任何其他主機)
例:grant selec,insert,update,delete on *.* to 'jifei'@'%';
- 撤銷權限
revoke 權限 on 數(shù)據(jù)庫.表 from '用戶名'@'登錄主機';//將to改為from
例:revoke all on *.* from ‘jifei’@’%’;
- 查看權限
show grants;//自己
show grants for dba@localhost;//指定用戶指定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.%' |
+--------------------------------------------------------------------------------------------------------------------------------------------------+