1. 程式人生 > >mysql數據庫用戶管理及日誌文件

mysql數據庫用戶管理及日誌文件

image grants long data bin where for 慢日誌 文件管理

用戶管理
實際應用:
MySQL數據庫是信息系統中非常重要的一個環節, 默認有個root用戶,但是這個用戶權限太大,一般只在管理數據庫時候才用。所以通常由管理員創建不同的管理賬戶,分配不同的操作權限,交給相應的人員使用。下面將詳細介紹mysql數據庫的用戶創建、授權等操作。
(一)用戶查看:

select user,authentication_string,host from user;

技術分享圖片

(二)創建用戶
方法1:

create user ‘test01‘@‘localhost‘ identified by ‘abc123‘;
test01---用戶名
ocalhost---主機名
‘abc123’---密碼

方法2:用戶已存在,即更改信息;用戶不存在,即新建

grant all on . to ‘test02‘@‘localhost‘ identified by ‘abc123‘;
all---所有權限
*---所有數據庫

*---所有表

技術分享圖片

方法3:明文轉密文

select password(‘abc123‘);
create user ‘user02‘@‘localhost‘ identified by password ‘轉換後的密文‘;

技術分享圖片
(三)修改用戶密碼

set password for ‘user02‘@‘localhost‘ = password(‘123456‘);

技術分享圖片

(四)重命名、刪除用戶

rename user ‘user01‘@‘localhost‘ to ‘user02‘@‘%‘; #重命名
drop user ‘user02‘@‘%‘; #刪除用戶

技術分享圖片
(五)授權

//授權
grant select,update on . to ‘user02‘@‘localhost‘ identified by ‘abc123‘;
//撤銷權限
revoke update on . from ‘user02‘@‘localhost‘;
//查看權限
show grants for ‘user02‘@‘localhost‘;

技術分享圖片

(六)如果忘記了root密碼無法登陸,可以通過以下操作

1、關掉數據庫服務,做一些配置的改變

   systamctl stop mysqld.service      # 關掉數據庫
   vim /etc/my.cnf                  
   skip-grant-tables                           # mysqld配置下插入跳過驗證
   systamctl stop mysqld.service         #開啟服務

2、進入數據庫修改root密碼

    mysql        回車即可進入
    update mysql.user set authentication_string = password(‘abc123‘) where user=‘root‘;

3、註意:修改完成後,將配置文件中添加配置刪除,並重啟服務。

日誌文件管理---四種

錯誤日誌
1、是指MySQL運行過程中較為嚴重的警告和錯誤信息,以及MySQL每次啟動和關閉的詳細信息。
2、查看

    show variables like ‘%log_err%‘; 

3、配置

    log-error=/usr/local/mysql/data/mysql_error.log             #錯誤日誌記錄文件,默認為主機名.log

通用日誌
1、記錄建立的客戶端連接和執行的語句
2、查看

    show variables like ‘%general%‘;

3、配置

   general_log=ON                                     #開啟通用日誌
   general_log_file=/usr/local/mysql/data/mysql_general.log          #通用日誌記錄文件

二進制日誌
1、包含了所有更新了的數據或者潛在更新了的數據;包含關於每個更新數據庫的語句的執行時間信息
2、查看

    show variables like ‘%log_bin%‘;

3、配置

     log_bin=mysql-bin                                 #二進制記錄文件

慢日誌
1、記錄所有執行時間超過long_query_time秒的所有查詢或者不適用索引的查詢。默認情況下,MySQL不開啟慢查詢日誌,long_query_time的默認值為10,即運行時間超過10s的語句是慢查詢語句。
2、查看

    show variables like ‘%query%‘;

3、配置

     slow_query_log=ON                                                    #開啟慢日誌
     slow_query_log_file=mysql_slow_query.log            #慢日誌記錄文件
     long_query_time=1                                                     #設置運行時間超過1s為慢查詢語句

應用演示:

vim /etc/my.cnf

技術分享圖片

mysql數據庫中操作

技術分享圖片

cd /usr/local/mysql/data #日誌文件存放目錄下去查看日誌
vim mysql_error.log

技術分享圖片

vim mysql_general.log

技術分享圖片

mysqlbinlog --no-defaults mysql-bin.000001

技術分享圖片

vim mysql_slow_query.log

技術分享圖片

mysql數據庫用戶管理及日誌文件