开源云计算mysql_云计算-开源数据库-SQL3

DCl:权限级别:1. Global level

所有库,所有表的权限。

2. Database level

某个数据库中的所有表的权限。

3 .Table level

库中的某个表的权限

4. Column level

表中的某个字段,的权限。

mysql用户管理: 1创建用户 create user user1@“locallhost” identified by ‘密码’;

create:创建;

user;用户

user1;用户名自定义;

@分隔符

“localhost” 允许登录的主机(ip)

identified by 身份认证;

2,删除用户:drop user “user1@localhost”;

3,修改用户密码:

root修改自己密码:第一种mysqladmin -uroot -p‘密码’ password ‘新密码’

第二种set password=password('新密码'); 改完密码要刷新权限:flush privileges;

假如忘记了root密码,可以去/etc/my.cnf去添加跳过密码配置:skip-grant-tables

重启下mysqil 在登陆就是无密码登录

然后修改密码之后再去将配置删除掉,不然数据库是谁都可以进去的。

注意修改完配置要重启下服务。

mysql权限原理:

grant 权限列表 on 库名.表名 to “用户名@客户端主机“ 【identified by ‘密码’with option参数】

权限列表;all 所有权限(不到阔授权权限), slelct,update 查询更新

数据库,表名 . 所以库下的所有表, web.* web库下的所有表, web。stu_info web库下的stu_info表。

客户端主机:% 所有主机,192.168.2.% 这个网段的所以主机, 192.168.2.10 指定主机, localhost 指定主机。

with_option参数 :GRANT OPTION 授权选项

mysql权限示例

赋予权限

授权目标

授予admin3 对bbs库 所有的表,具有所有权限(不包含授权)

GRANT ALL ON bbs.* TO admin3@'%' IDENTIFIED BY 'QianFeng@13910604684';

赋权示例

1.准备测试账户

root账户创建

CREATE USER admin3@'%' IDENTIFIED BY 'QianFeng@123';

2.授权账户

root账户授权

GRANT ALL ON bbs.* TO admin3@'%' IDENTIFIED BY 'QianFeng@13910604684';

3.使用测试账户操作数据库

[root@localhost ~]# mysql -uadmin3 -p'QianFeng@123'

mysql> create database bbs;

试试创建别的库

mysql> create database bba;

ERROR 1044 (42000): Access denied for user 'admin3'@'%' to database 'bba'

进入bbs库,创建数据表和插入数据。

授权验证完毕

回收权限

查看权限

查看自己的权限

SHOW GRANTS\G

查看别人的权限

SHOW GRANTS FOR admin3@'%'\G

回收权限REVOKE

语法

REVOKE 权限列表 ON 数据库名 FROM 用户名@‘客户端主机’

示例

REVOKE ALL PRIVILEGES ON bbs.* FROM admin3@’%’; //回收所有权限

删除用户的版本问题

5.6之前,先 revoke all privilege 再 drop user

5.7之后,直接drop user

日志:

一,日志分类:1 错误日志 :启动,停止,关闭失败报错。rpm安装日志位置 /var/log/mysqld.log

2 通用查询日志:所有的查询都记下。

3 二进制日志:实现备份,增量备份。只记录改变数据,除了select都记。

4 中继日志:读取主服务器的binlog,在本地回放。保持一致。

5 slow log:慢查询日志,指导调优,定义某一个查询语句,定义超时时间,通过日志提供调优建议给开发人员。

6 DDL log: 定义语句的日志。

二、Error Log

vim /etc/my.cnf

进入主配置文件,观察日志是否启动。

log-error=/var/log/mysqld.log

该字段,标记是否启动日志,以及日志位置。

如果哪天mysql服务起不来了,请来这个日志文件看看。

三、Binary Log

默认没有开启,二进制日志

启动二进制日志

# vim /etc/my.cnf

log_bin

添加该字段。指启动二进制日志

server-id=2

群集问题,必须指定该主机的序号。数字随意

# systemctl restart mysqld

重启数据库

测试

1 查看二进制日志文件当前状态

ls /var/lib/mysql/*bin*

查询二进制文件生成完成。

mysqlbinlog -v /var/lib/mysql/localhost-bin.000001

查看二进制文件日志。后续讲解

# at 123

找到一个记录位置

2 进入数据库,进行数据操作

创库,创表,创数据(过程略)

3 完成二进制日志启动,查询测试

mysqlbinlog -v /var/lib/mysql/localhost-bin.000001

找到刚才创建的记录即可。

四、Slow Query Log

默认慢查询日志未开启

开启慢查询日志功能

vim /etc/my.cnf

加入下面2行配置

slow_query_log=1

启动慢查询日志

这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。

long_query_time=3

当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。

重启服务器

#systemctl restart mysqld

查看慢查询日志文件

#ll /var/lib/mysql/*slow*

查看日志文件已经生成

模拟慢查询

mysql>SELECT BENCHMARK(500000000,2*3);

基本测试语句,测试一个超长时间的查询。

课后作业:收集数据库压力测试工具信息。(面试题)

验证慢查询日志

#tail /var/lib/mysql/localhost-slow.log

观察长查询日志记录,记录了刚才超长的查询结果。

稍后反馈给开发部,进行优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值