Create_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Drop_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Reload_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Shutdown_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Process_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
File_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Grant_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
References_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Index_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Alter_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Show_db_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Super_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Create_tmp_table_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Lock_tables_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Execute_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Repl_slave_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Repl_client_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Create_view_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Show_view_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Create_routine_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Alter_routine_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Create_user_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Event_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Trigger_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
Create_tablespace_priv
enum(‘N’,‘Y’) CHARACTER SET utf8 NOT NULL DEFAULT ‘N’,
ssl_type
enum(‘’,‘ANY’,‘X509’,‘SPECIFIED’) CHARACTER SET utf8 NOT NULL DEFAULT ‘’,
ssl_cipher
blob NOT NULL,
x509_issuer
blob NOT NULL,
x509_subject
blob NOT NULL,
max_questions
int(11) unsigned NOT NULL DEFAULT ‘0’,
max_updates
int(11) unsigned NOT NULL DEFAULT ‘0’,
max_connections
int(11) unsigned NOT NULL DEFAULT ‘0’,
max_user_connections
int(11) unsigned NOT NULL DEFAULT ‘0’,
plugin
char(64) COLLATE utf8_bin DEFAULT ‘’,
authentication_string
text COLLATE utf8_bin,
PRIMARY KEY (Host
,User
)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘Users and global privileges’;
– Records of user
INSERT INTO user
VALUES (‘localhost’, ‘root’, ‘*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘’, ‘’, ‘’, ‘’, ‘0’, ‘0’, ‘0’, ‘0’, ‘’, ‘’);
重启mysql 我的方法是
先 ps -ef|grep mysq 查找所有mysql进程
然后全部kill掉 kill -9 上方红色方框圈住的进程号
重新启动 service mysql restart
当mysql版本为5.7以上时 用service mysqld restart 多了个“d”
连接成功!
那么,我们应该做些什么,才能防止数据库被恶意访问删除呢?或者是有什么手段可以快速恢复被删的文件?
开启Binlog日志
MySQL Server 的四种类型的日志:Error Log、General Query Log、Slow Query Log 和 Binary Log
Error Log 即 错误日志,记录 mysqld 发生的一些错误。
General Query Log 即 一般查询日志,记录 mysqld 正在做的事情,如客户端的连接和断开、来自客户端每条 Sql Statement 记录信息;如果你想准确知道客户端究竟传了什么内容给服务端,这个日志就非常管用了,当然了这货非常影响性能。
Slow Query Log 即 慢查询日志,记录一些查询执行较慢的 SQL 语句,这个日志非常常用,主要是给开发者调优用的。
Binary Log 简称 Binlog 即 二进制日志文件,这个文件记录了mysql所有的 DML 操作。通过 Binlog 日志我们可以做数据恢复,做主主复制和主从复制等等。对于开发者可能对 Binlog 并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。
简而言之,Binlog 两个重要的用途——复制和恢复,很多十分好用的 MySQL 体验比如说增量备份,回滚至指定时间以及上面提到的主主和主从等等都依赖于 Binlog。
检查是否开启
ON表示开启 OFF表示未开启
修改 my.cnf
文件开启Binlog,一般来说都位于 /etc/my.cnf
这边,部分像 MariaDB 可能是修改/etc/my.cnf.d/server.cnf
文件
在 [mysqld]
下写入如下内容:
log_bin = /var/lib/mysql/bin-log
log_bin_index = /var/lib/mysql/mysql-bin.index
expire_logs_days = 7
server_id = 0002
binlog_format = ROW
解释一下:
log_bin = /var/lib/mysql/bin-log
, 开启 Binlog 并写明存放日志的位置
log_bin_index = /var/lib/mysql/mysql-bin.index
, 指定索引文件的位置。
expire_logs_days = 7
,删除超出这个变量保留期之前的全部日志被删除
server_id = 0002
, 指定一个集群内的 MySQL 服务器 ID,如果做数据库集群那么必须全局唯一,一般来说不推荐 指定server_id
等于 1。
binlog_format = ROW
,设置方面提到过的三种 Binlog 的日志模式。
重启数据库
再次检测 show global variables like ‘log_bin’;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后