day43 mysql 基本管理,[破解密码以及用户权限设置]以及慢日志查询配置
配置文件:详细步骤,
1,找到mysql的安装包,然后打开后会看到一个my.ini命名的程序,把它拖拽到notepad++里面来打开,(应该是其他文本形式也可以打开,可以试一下),直接拖拽即可打开该文件,然后会看到很多加了注释的代码,如图所示:
我们可以把注释都删掉,从第一行开始一直到上图所示的client关键字前面的内容都可以删掉了,然后开始增加代码,
2,找到红色标识的mysql关键字,在该段代码里添加上你的mysql用户名和登录密码,就是[user='root',password='123']这句话,要换行写入
然后保存文件,一定要记得保存否则不会生效的.
然后我们回到cmd的小黑框里面来,直接输入[mysql]即可直接登录,不需要跟之前一样需要输入mysql -uroot -p123,这样就会方便很多,
{需要补充的是,我们把用户名如果添加到client保存也会有同样的效果,我试过,在client里面保存了一份用户信息,然后在mysql里面也保存了一份,然后在mysql里面保存的信息是不存在的(即是假的信息),然后在cmd里面直接输入mysql,会报错,报错内容是'error 1045(28000):access denied for user'top'@localhost'(using password:yes) =========== 这句话的意思就是:没有该用户.我们在client里面和mysql里面都写入了用户信息,mysql里面写入的是假的用户信息,而在client里面则写入的是正确的,但是系统没有识别我们写在client里面的正确的可以顺利登陆的用户信息,所以我们就直接在mysql里面加入用户信息的代码即可}
然后我们在cmd里面打开mysql后输入: \s 命令,我们可以看到客户端,服务端,文件内容等的编码都是utf8,有的情况是它并不是utf8,那么后期的编码出现问题,在项目中导致文件等无法顺利读取,很抓狂的.
那么我们就需要掌握设置编码的方法,
上面提到了三个红色标识的client,mysql,mysqld,我们在这三个代码里面添加一行代码,
default-character-set=utf8
然后保存.就可以搞定了.
破解密码:
1,打开电脑开始键的图标,在搜索框输入-- services.exe 进入服务窗口;或者鼠标点击桌面下方任务栏右键单击打开''启动任务管理器''---找到'服务'按钮,单击,如图所示:
然后打开后找到mysql的程序,如图:
右键单击'停止',然后停掉服务,
下面这几步的操作都是在cmd里面执行:
2,然后在cmd里面输入命令mysql --skip--grant--tables 这里是跳过了用户输入的那一段信息,
3,再输入mysql --uroot -p 这里就是,实现了跳过输入用户信息的
4,select user(); 这里查询出来用户信息,
5,update mysql.user set password=password('123') where user='root';
6,flush priviages;
7,tasklist
8,tasklist |findstr mysql
9,tskill mycqld
10,在服务里面去找到mycql然后启动服务器,
11,输入mycql -uroot -p123 这里的123是自定义设置的,密码.
12,select user(); 这里查询出来用户信息,就可以得到我们更改后的结果
破解密码的两种方式:
#1 关闭mysql
#2 在cmd中执行:mysqld --skip-grant-tables
#3 在cmd中执行:mysql
#4 执行如下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges; #5 tskill mysqld #或taskkill -f /PID 7832
#6 重新启动mysql 方式一 #1. 关闭mysql,可以用tskill mysqld将其杀死
#2. 在解压目录下,新建mysql配置文件my.ini
#3. my.ini内容,指定
[mysqld]
skip-grant-tables #4.启动mysqld
#5.在cmd里直接输入mysql登录,然后操作
update mysql.user set authentication_string=password('') where user='root and host='localhost'; flush privileges; #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了 方式二
用户权限设置:
授权表:图解
user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段
db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段
tables_priv #该表放行的权限。针对:某一张表,以及该表下的所有字段
columns_priv #该表放行的权限,针对:某一个字段 #按图解释:
user:放行db1,db2及其包含的所有
db:放行db1,及其db1包含的所有
tables_priv:放行db1.table1,及其该表包含的所有
columns_prive:放行db1.table1.column1,只放行该字段
#创建用户
create user 'egon'@'1.1.1.1' identified by '';
create user 'egon'@'192.168.1.%' identified by '';
create user 'egon'@'%' identified by ''; #授权:对文件夹,对文件,对文件某一字段的权限
查看帮助:help grant
常用权限有:select,update,alter,delete
all可以代表除了grant之外的所有权限 #针对所有库的授权:*.*
grant select on *.* to 'egon1'@'localhost' identified by ''; #只在user表中可以查到egon1用户的select权限被设置为Y{我作为管理员给@后面的ip地址授权了egon1这个用户名,以及123这个密码,它可以用这个用户名和密码访问我的所有库以及所有表格,对他们进行查询操作,select就是查询操作,我可以把它替换成update,或者同时授予它多个操作,使用','隔开即可} #针对某一数据库:db1.*
grant select on db1.* to 'egon2'@'%' identified by ''; #只在db表中可以查到egon2用户的select权限被设置为Y #针对某一个表:db1.t1
grant select on db1.t1 to 'egon3'@'%' identified by ''; #只在tables_priv表中可以查到egon3用户的select权限 #针对某一个字段:
mysql> select * from t3;
+------+-------+------+
| id | name | age |
+------+-------+------+
| 1 | egon1 | 18 |
| 2 | egon2 | 19 |
| 3 | egon3 | 29 |
+------+-------+------+ grant select (id,name),update (age) on db1.t3 to 'egon4'@'localhost' identified by '';
#可以在tables_priv和columns_priv中看到相应的权限
mysql> select * from tables_priv where user='egon4'\G
*************************** 1. row ***************************
Host: localhost
Db: db1
User: egon4
Table_name: t3
Grantor: root@localhost
Timestamp: 0000-00-00 00:00:00
Table_priv:
Column_priv: Select,Update
row in set (0.00 sec) mysql> select * from columns_priv where user='egon4'\G
*************************** 1. row ***************************
Host: localhost
Db: db1
User: egon4
Table_name: t3
Column_name: id
Timestamp: 0000-00-00 00:00:00
Column_priv: Select
*************************** 2. row ***************************
Host: localhost
Db: db1
User: egon4
Table_name: t3
Column_name: name
Timestamp: 0000-00-00 00:00:00
Column_priv: Select
*************************** 3. row ***************************
Host: localhost
Db: db1
User: egon4
Table_name: t3
Column_name: age
Timestamp: 0000-00-00 00:00:00
Column_priv: Update
rows in set (0.00 sec) #删除权限
revoke select on db1.* from 'alex'@'%';
# 我们这里是我作为管理员,我给这个ip地址回收了我授权给他的'alex'用户名的权限. 权限相关操作
删除授权之后需要重启mysql服务,在服务里面去操作:
在配置文件里面加上一条配置即可得到慢日志查询的效果
slow_query_log=on
本文转载自egon博客-mysql系列-初始数据库
cnblog.linhaifeng
day43 mysql 基本管理,[破解密码以及用户权限设置]以及慢日志查询配置的更多相关文章
- 重置Mysql的root密码及用户权限设置
一.重置Mysql的root密码 方法一: 直接进入localhost/phpmyadmin修改用户root的权限,设置密码: 方法二: 进入mysql控制台:mysql->use mysql ...
- Ubuntu 破解密码及用户管理
Ubuntu 破解密码及用户管理 ubuntu 16.04 破解密码 useradd 实现以下要求 1.ubuntu16.04破解密码 2.创建下面的用户.组和组成员关系 名字为xipudata 的组 ...
- MySQL与Oracle 差异比较之七用户权限
用户权限 编号 类别 ORACLE MYSQL 注释 1 创建用户 Create user user_name identified by user_password default tablespa ...
- Java基础91 mysql的用户权限设置问题
1.概述 1)MySQL数据库中root用户具有最高的权限(超级用户),可以对任何数据库,任何表进行操作. 2)权限账户,只拥有部分权限(CRUD) .例如:只能操作某个数据库的某张表等等. 2.my ...
- linux普通用户权限设置为超级用户权限方法、sudo不用登陆密码
以用户zato为例 普通用户权限设置为超级用户权限 进入有超级用户权限的账号 添加文件可写(w)权限 sudo chmod u+x /etc/sudoers 编辑/etc/sudoers文件 添加语句 ...
- (2.2)学习笔记之mysql基础操作(登录及账户权限设置)
本系列学习笔记主要讲如下几个方面: 本文笔记[三:mysql登录][四:账户权限设置][五:mysql数据库安全配置] 三.mysql登录 常用登录方式如下: 四.账户权限设置 (4.1)查看用户表, ...
- mongodb副本集用户权限设置
mongodb副本集用户权限设置 用户权限参考文章 一:先看看MongoDB中用户的角色说明 read : 数据库的只读权限,包括: aggregate,checkShardingIndex, ...
- 第二百八十八节,MySQL数据库-索引、limit分页、执行计划、慢日志查询
MySQL数据库-索引.limit分页.执行计划.慢日志查询 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获 ...
- Jenkins 开启用户注册机制及用户权限设置
Jenkins 开启用户注册机制及用户权限设置 by:授客 QQ:1033553122 步骤 1. 系统管理-Configure Global Security 2. 设置
随机推荐
- http请求在ie中F12查看显示已挂起
页面有解析和运算工作之后 http新请求在ie中F12查看显示已挂起,http post ,请求返回少量数据
- Oracle PGA作用&work_mode
专有模式下ORACLE会给每个连接分配一个服务进程(Server Process),这个服务进程将为这个连接服务.为这个服务进程分配的内存叫做PGA.PGA不需要Latch也不需要Lock,永远不会发 ...
- swift 实践- 08 -- UISegmentedControl
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...
- Oracle Blob查询和插入
注:本文来源于<Oracle Blob查询和插入> 插入 UPDATE cmm05 SET OUTFILE = to_blob('12345690'): 查询: SELECT utl_ra ...
- windows+mysql集群搭建-三分钟搞定集群
注:本文来源: 陈晓婵 < windows+mysql集群搭建-三分钟搞定集群 > 一:mysql集群搭建教程-基础篇 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一 ...
- Confluence 6 在 Apache 或者系统级别阻止垃圾
如果一个垃圾发布机器人攻击你的 Confluence 站点,这些程序可能来自于同一个 IP 地址,或者是一个比较小范围的 IP 地址段.希望找到攻击者的 IP 地址,请参考 Apache access ...
- Confluence 6 数据导入和导出
Confluence 管理员和用户可以从各种方法向 Confluence 中导入数据.针对不同的导入方式,有关权限的要求也是不相同的.请参考页面 Import Content Into Conflu ...
- vue-列表嵌套
- Feign服务消费者
Feign的优点:面向接口,完全不用管实现,传入规定格式的数据就可以了 搭建消费者项目(FeignDemo) 1.创建pom.xml <project xmlns="http://ma ...
- java 学习中出过的错误
1. 运行异常 C:\Users\plan-B\java>java TapeDeckTestDrive.class 错误: 找不到或无法加载主类 TapeDeckTestDrive.class