1.查看数据库用户信息表中用户的详细信息
select * from mysql.user\G
2.创建新用户
格式:
create user "username"@"client_ip" "identified" "by " "password";
例:创建名为xixi和数据库用户,只允许主机192.168.10.100通过该用户访问数据库,密码自定义
create user "xixi"@"192.168.1.2" identified by "1234.Com";
验证
链接数据库
mysql -uxixi -p1234.Com -h192.168.1.1
3.修改用户密码
格式:
set password=PASSWORD("新密码")
4.给其他用户修改密码
set password for "username"@"client_ip"=PASSWORD("新密码");
set password for "xixi"@"192.168.1.2"=PASSWORD("1234.Com");
5.在数据库外面修改密码
mysqladmin -u用户名 -p password
输入旧密码
输入新密码
重复新密码
6.删除用户
格式
drop user "username"@"client_ip";
7.用户授权
格式
grant 权限 on 库,表 to ”username”@"client_ip" identified by "password";
例:只允许主机192.168.1.2通过数据库用户”hehe"查询数据库
grant select on hehe.classes to "hehe"@"192.168.1.2" identified by "1234.Com";
hehe.classes中添加数据
例:允许主机192.168.1.2通过数据库用户hehe在数据表
grant insert on hehe.classes to "hehe"@“192.168.1.2”identified by “1234.Com”;
例:只允许192.168.1.0/24网段的主机通过用户lala查询hehe.classes表中的所有数据,但只能对hehe,classes表中的c_id字段添加数据
grant insert(c_id),select on hehe.classes to "lala"@“192.168.1.%” identified by "1234.Com":
8.撤销用户的权限
撤销用户指定的权限
格式:
revoke 权限 on 库,表 from “username”@“client_ip”;
撤销用户所有权限
格式
revoke all pvivileges,grant option from "username"@"client_ip";
9.MYSQL日志
错误日志:用于记录mysql运行时出现的警告或错误信息,也会记录mysql启动,关闭等信息,也会记录客户端访问信息,也会记录客户端的访问信息,是默认启用的日志文件
#通过配置文件启用错误日志
vim /etc/my.cnf
{mysqld}
log-error/日志存放位置/日志文件名
看错误日志相关变量
ow variables like "%log_error%”;#用于查看日志信息
ow variables like “%log_warnings%";#如果log_warnings=0
表示错误日志只记录error及以上级别的信息,如果值为1表示也会记
等告信息,如果值大于1,也会记录客户端的错误连接信息
10.查询日志
#通过配置文件启用查询日志(一般不启用)
vim /etc/my.cnf
[mysql]
general_log=on|off #on为启用,off为关闭
general_log_file=/日志存放位置/日志文件名
11.关闭日志查询
set global general_log=off;
#查看跟查询日志相关的变量
show variables like "%general_log%"
12.通过变量修改查询日志的状态
set global general_log=off;
慢查询日志
慢查询日志:记录执行时间超过阈值的sql语句,一般在对mysql进行性能优化时,会开启慢查询日志
#通过配置文件启用慢查询日志
lvim /etc/my.cnf
[mysqid]
[slow_query_log=on off
slow_query_log_file=/日志存放位置/日志文件名
超过15的sq)语句将会被记录到慢查询兄志中
long_query_time=1 #设置慢查询日志的阈值,单位s,表示执行时间超过1s的sql语句将会被记录到慢查询日志中
#查询跟慢查询日志相关的变量
show variiables like "%slow_query_log%";
13.二进制日志
#通过配置文件启用二进制日志
vim /etc/my.cnf
[mysold]
log-bin=/日志存放位置/日志文件名
server-id=1 #该节点在数据库集群中的标识符
#查看二进制日志文件内容
mysqlbinlog 二进制日志文件名
#查看二进制日志相关变量
show variables like "%log__bin%"
#查看二进制日志格式变量
show variables like "%binlog_format%";
二进制日志格式的三种类型的特点:
statement:只记录数据库执行过的sql语句本身
(row:记录sqli语句执行后对数据库的状态改变
志格式
mixed:混合模式,由数据库根据自身当前的运行状态选择要使用的日志格式
statement:只记录数据库执行过的sql语句本身
row:记录sql语句执行后对数据库的状态改变
(mixed:混合模式,由数据库根据自身当前的运行状态选择要使用的日志格式
update test set id=10;
14.中继日志
中继日志:主要由主从架构节点启用的日志,从节点同步来的二进制日志信息会存放到中继日志中
#通过配置文件启用中继日志
vim /etc/my.cnf
[mysqld]
relay-log=/日志存放位置/日志文件名
#查看中继日志相关的变量
show variables like "%relay-log%";