正常線上項目一個mysql可能會跑好幾個項目,每個項目對應一個數據庫,不同的數據庫要對應不同的用戶。并且權限也不一樣。主要是安全的問題。
并且線上是不能用超級用戶ROOT的。
## 修改密碼
1、 mysqladmin -u用戶名 -p舊密碼 password 新密碼
2 、update mysql.user set password=password(新密碼) where user='root'
flush privileges
## 忘記密碼
1、關閉數據庫
mysqld (啟動守護進程)
mysqld --skip-grant-tables
(跳過權限表)
然后進入mysql修改密碼
## 創建用戶
CREATE USER 用戶名 @'IP地址' IDENTIFIED BY '密碼'
此用戶只能在制定的ip上使用 所有的ip要用 %
## 用戶授權
GRANT 權限1,權限2... ON 數據庫名.* TO 用戶名 @ IP地址或者%
所有的數據庫 就用 *.* 所有的權限就用 ALL或者ALL PRIVILEGES
## 撤銷權限
REVOKE 權限1,權限2.. ON 數據庫名.* FROM 用戶名 @IP地址或者%
用戶名加權限一句
grant 權限 1,權限2 on 數據庫名.* to 用戶名@IP地址 identified by 密碼
flush privileges
## 查看權限
SHOW GRANTS FOR 用戶名@IP地址
## 刪除用戶
DROP USER 用戶名 @ IP地址
### DCL:Data Control Language
是用來設置或更改數據庫用戶或角色權限的語句,包括(grant,deny,revoke等)語句。這個比較少用到。
## 設置root指定IP訪問