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,于是乎搜索了很多技术文件,比着葫芦画 ...
随机推荐
- Spring Cloud导入Spring Boot项目当作子模块微服务IDEA不识别子module问题
1.在父工程下面引入module. <modules> <module>study-design-mode</module> </modules> 2. ...
- KingbaseES数据库分区表添加主键与索引的建议
一.初始化测试环境 # 数据库版本信息 KingbaseES V008R006C007B0012 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 ...
- Scala 不可变Map
1 package chapter07 2 3 object Test08_ImmutableMap { 4 def main(args: Array[String]): Unit = { 5 // ...
- 从bootstrap源码中学习Sass(一)
可以在github看代码,非常方便:https://github.com/twbs/bootstrap/blob/main/scss/_variables.scss 就是有时候网络差. 基础用法 sc ...
- #根号分治,树形dp#CF1039D You Are Given a Tree
题目 给定一棵树,对于 \(k\in [1,n]\) 问最多可以分成多少段长度为 \(k\) 的不交路径 分析 首先考虑对于单个 \(k\) 怎么做. 设 \(dp[x]\) 表示点 \(x\) 往下 ...
- OpenHarmony 官网文档有哪些上新?上篇:应用开发文档上新
随着 OpenAtom OpenHarmony(以下简称"OpenHarmony")系统能力持续升级,已具备支撑复杂带屏标准设备和应用开发的基础能力.相较于旧版本,OpenHarm ...
- 部署solr服务
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 一.Sorl单机部署 准备:solr5.5.tomcat8.5.jdk1.8 1.解压 solr-5.5.0.zip压缩包 2.复制./ ...
- C++对象封装后的内存布局
在C语言中,数据和数据的处理操作(函数)是分开声明的,在语言层面并没有支持数据和函数的内在关联性,我们称之为过程式编程范式或者程序性编程范式.C++兼容了C语言,当然也支持这种编程范式.但C++更主要 ...
- 如何使用XSSFWorkbook读取文本薄?
[版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18146625 出自[进步*于辰的博客] 1.文件兼容类 ...
- C#S7.NET实现西门子PLCDB块数据采集的完整步骤
前言 本文介绍了如何使用S7.NET库实现对西门子PLC DB块数据的读写,记录了使用计算机仿真,模拟PLC,自至完成测试的详细流程,并重点介绍了在这个过程中的易错点,供参考. 用到的软件: 1.Wi ...