16、数据库加固-mysql 加固
1.修改 DBA 登录密码
shell 下执行:
mysqladmin -u root password
非首次修改:mysqladmin -u root password -p原密码
在 mysql 下执行:
update user set password=password('密码') where user='root';
flush privileges;
2.删除默认数据库和用户
删除测试库
show databases;
drop database test;
删除非 root 用户
use mysql;
delete from user where not (user='root');
删除空密码的 root 用户
delete from user where user='root' and password='';
flush privileges;
3.变更 DBA 用户名
use mysql;
update user set user="zhangsan" where user="root";
flush privileges;
4.在账户管理时使用加密算法
添加账户 test,密码进行加密处理
use mysql;
insert into users values(1,password(123.com),"test");(48位的 md5)
5.更改 mysql 启动用户
修改 my.cnf 文件:/etc/my.cnf
加入内容:
[mysqld]
user=mysql
6.限制远程连接数
修改 my.cnf 文件
加入内容:
[mysqld]
max_connections=5
max_user_connections=2
或者限制某个用户,在 mysql 中执行
testdb用户最多两个连接
GRANT test ON *.* TO testdb@localhost MAX_USER_CONNECTIONS 2;
7.关闭远程管理数据库(关闭后,限制远程就没用了)
修改 my.cnf
修改内容:
取消下方语句的注释符
#skip-networking
skip-networking
8.清理 mysql 命令历史
注意清理家目录中的 .mysql_history
ln -s /dev/null /root/.mysql_history
禁止使用明文模式登录 mysql:mysql -u root -p
9.禁止 MySQL 读取本地文件
禁止mysql通过某个文件,把文件内容置入数据库
修改 my.cnf
加入内容:
[mysqld]
local_infile = 0
或者添加启动选项:用脚本开启 mysql(临时生效)
mysqld_safe --local_infile=0 --user=mysql
10.禁止将表导出到文件
在 mysql 中修改用户的文件权限
update user set File_priv='N' where user='用户名';
检查配置文件是否存在不合理信息,存在则删掉
grep secure_file_priv /etc/my.cnf
secure_file_priv=xxx路径
11.日常备份数据库
手动备份数据库可用防止密码明文存储
mysqldump --user=root --all-databases --flush-privileges --lock-all-tables --master-data=1 --flush-logs --triggers --routines --events --hex-blob > 备份路径/文件名时间戳.sql
还原数据库
mysql -u用户名 -p密码 数据库名 < 备份文件名
16、数据库加固-mysql 加固的更多相关文章
- MYSQL数据库攻防与加固
这是“官方”原本的模样搬过来的..写的很粗略啊.还有篇详细的请查看:MySQL安全加固题目及答案参考解析 启动xserver-mysql,进入xserver-mysql,开始实验,实验步骤如下: 1. ...
- centos mysql 实战 第一节课 安全加固 mysql安装
centos mysql 实战 第一节课 安全加固 mysql安装 percona名字的由来=consultation 顾问+performance 性能=per con a mysql ...
- 数据库 之MySQL 简单教程
So Easy系列之MySQL数据库教程 1. 数据库概述 1.1. 数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- 关于数据库管理系统DBMS--关系型数据库(MySQL/MariaDB)
数据库的结构(3种):层次,网状,关系型(用的最多): DBMS的三层模型: 视图层:面向最终用户: 逻辑层:面向程序员或DBA: 物理层:面向系统管理员: 关系型数据库管理系统——RDBMS: 主要 ...
- ubuntu 16.04上 mysql 5.7 安装笔记
一 安装 ubuntu 采用APT安装方式,可参考: Ubuntu 安装mysql和简单操作 Ubuntu 16.04安装MySQL(5.7.18) A Quick Guide to Using th ...
- Ubuntu Server 16.04 安装MySQL并设置远程访问
Ubuntu Server 16.04 安装MySQL 1. 使用root账号 sudo apt-get install mysql-serversudo apt-get install mysql- ...
- python数据库操作 - MySQL入门【转】
python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...
- 数据库01 /Mysql初识、基本指令、数据库密码相关、创建用户及授权
数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 目录 数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 1. 数据库概述 2. 数据库管理系统/DBMS ...
- Ubuntu 16.04 安装mysql并设置远程访问
说明: 一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙.但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画 ...
随机推荐
- quartus之LPM_COMPARE测试
quartus之LPM_COMPARE测试 1.IP描述 比较器的IP,可以比较两路数据是否相等.相等输出为1,不等输出为0的aeb信号是需要测试的量. 2.基础测试 module compare_t ...
- Android为按钮Button添加事件
匿名内部类 1 <!--匿名内部类方式--> 2 <Button 3 android:id="@+id/btn2" 4 android:layout_width= ...
- Codeforces Round #670 (Div. 2)
CF1406A Subset Mex 洛谷传送门 CF1406A 分析 从小到大考虑每一个数的出现次数,最小未出现的数就是A的mex值, 然后将A选完的数删掉一个接着以同样的方式找B的mex值,这显然 ...
- 新版本NOI Linux发布,支持VSCode,Code::Blocks开发C++!!!,内附下载地址。
注意VSCODE 虽然有C艹插件,但是在第一次编译的时候必须要有网络,否则用不了 我推荐还是用CODE::BLOCKS 作者10月8日补充 有些省份已经开始强制在NOIP的比赛里使用NOI Linux ...
- 手把手教你使用ArkTS中的canvas实现签名板功能
一.屏幕旋转 ● 实现签名板的第一个功能就是旋转屏幕.旋转屏幕在各种框架中都有不一样的方式,比如:在H5端,我们一般是使用CSS中的transform属性中的rotate()方法来强制将网页横屏, ...
- 一文带你详细了解HarmonyOS折叠屏设计规范!
原文:https://mp.weixin.qq.com/s/G25IbfcX2Bq9s1IDPCELGw,点击链接查看更多技术内容. 随着新一代折叠屏手机HUAWEI Mate Xs 2发布,Harm ...
- Excel 表间关联运算的示例
用 Excel 处理数据时,经常会涉及到多页 sheet 数据之间的关联运算需求,用 vlookup 可以完成部分简单关联,但较复杂的情况时仍然不太方便,常常需要多次操作才能完成.另外,当要做关联的文 ...
- sass 基本常识
一.什么是SASS SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 本文总结了SASS的主要用法.我的目标是,有了这篇文章,日常的一 ...
- C++ 默认参数与引用传递:语法、用法及示例
C++ 默认参数 默认参数概述 在 C++ 中,函数参数可以拥有默认值.这意味着,在调用函数时,如果省略了某个参数,那么将使用为该参数指定的默认值. 设置默认参数 默认参数值使用等号 = 符号进行设置 ...
- 分享一款嵌入式开源按键框架代码工程MultiButton
一.工程简介 MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块. Github地址:https://github.com/0x1abin/MultiButton 这个项目非常精简,只 ...