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/myf去添加跳过密码配置: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@139********';
赋权⽰例
1.准备测试账户
root账户创建
CREATE USER admin3@'%' IDENTIFIED BY 'QianFeng@123';
2.授权账户
root账户授权
GRANT ALL ON bbs.* TO admin3@'%' IDENTIFIED BY 'QianFeng@139********';
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'
java免费下载安装教程进⼊bbs库,创建数据表和插⼊数据。
授权验证完毕
回收权限
查看权限
查看⾃⼰的权限
SHOW GRANTSG
查看别⼈的权限
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:慢查询⽇志,指导调优,定义某⼀个查询语句,定义超时时间,通过⽇志提供调优建议给开发⼈员。
windows不到文件mongodb6 DDL log: 定义语句的⽇志。
⼆、Error Log
vim /etc/myf
进⼊主配置⽂件,观察⽇志是否启动。
log-error=/var/log/mysqld.log
该字段,标记是否启动⽇志,以及⽇志位置。
如果哪天mysql服务起不来了,请来这个⽇志⽂件看看。
三、Binary Log
默认没有开启,⼆进制⽇志
启动⼆进制⽇志
win2008r2系统下载
# vim /etc/myf
log_bin
英语单词argument添加该字段。指启动⼆进制⽇志mysql面试题sql
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/myf
加⼊下⾯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
观察长查询⽇志记录,记录了刚才超长的查询结果。
稍后反馈给开发部,进⾏优化。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。