mysql数据库用户管理及日志文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库用户管理及日志文件相关的知识,希望对你有一定的参考价值。

用户管理
实际应用:
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数据库用户管理及日志文件的主要内容,如果未能解决你的问题,请参考以下文章

日志管理

MySQL日志管理及备份与恢复

MySQL日志及索引

MySQL 5.7 用户与日志管理

MySQL日志管理

日志文件的作用及功能