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 加固的更多相关文章

  1. MYSQL数据库攻防与加固

    这是“官方”原本的模样搬过来的..写的很粗略啊.还有篇详细的请查看:MySQL安全加固题目及答案参考解析 启动xserver-mysql,进入xserver-mysql,开始实验,实验步骤如下: 1. ...

  2. centos mysql 实战 第一节课 安全加固 mysql安装

    centos mysql  实战  第一节课   安全加固  mysql安装 percona名字的由来=consultation 顾问+performance 性能=per  con  a mysql ...

  3. 数据库 之MySQL 简单教程

      So Easy系列之MySQL数据库教程 1.   数据库概述 1.1.  数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...

  4. 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 ...

  5. 关于数据库管理系统DBMS--关系型数据库(MySQL/MariaDB)

    数据库的结构(3种):层次,网状,关系型(用的最多): DBMS的三层模型: 视图层:面向最终用户: 逻辑层:面向程序员或DBA: 物理层:面向系统管理员: 关系型数据库管理系统——RDBMS: 主要 ...

  6. ubuntu 16.04上 mysql 5.7 安装笔记

    一 安装 ubuntu 采用APT安装方式,可参考: Ubuntu 安装mysql和简单操作 Ubuntu 16.04安装MySQL(5.7.18) A Quick Guide to Using th ...

  7. Ubuntu Server 16.04 安装MySQL并设置远程访问

    Ubuntu Server 16.04 安装MySQL 1. 使用root账号 sudo apt-get install mysql-serversudo apt-get install mysql- ...

  8. python数据库操作 - MySQL入门【转】

    python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...

  9. 数据库01 /Mysql初识、基本指令、数据库密码相关、创建用户及授权

    数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 目录 数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 1. 数据库概述 2. 数据库管理系统/DBMS ...

  10. Ubuntu 16.04 安装mysql并设置远程访问

    说明: 一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙.但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画 ...

随机推荐

  1. 配置腾讯云轻量级linux服务器用到的资源和步骤

    pasv_address=82.157.112.34 #请修改为您的 Linux 云服务器公网 IPsftp://82.157.112.34:21 ①下载系统可视化https://cloud.tenc ...

  2. WPF中动画教程(DoubleAnimation的基本使用)

    实现效果 今天以一个交互式小球的例子跟大家分享一下wpf动画中DoubleAnimation的基本使用.该小球会移动到我们鼠标左键或右键点击的地方. 该示例的实现效果如下所示: 页面设计 xaml如下 ...

  3. #倍增,floyd#CF147B Smile House

    题目 求一张有向图的最小正环(环上结点数最小) 分析 有环当且仅当 \(f[i][i]\) 为正数, 那么考虑跑 \(n\) 次 floyd 直接转移,时间复杂度为 \(O(n^4)\) 然而没必要这 ...

  4. #深搜,期望#CF105B Dark Assembly

    洛谷题目传送门 CODEFORCES传送门 分析 题目强调贿赂要在投票开始前完成说明分糖和成功率可以分开计算 那么分糖考虑直接暴搜,由于题目并没有说糖必须全部分完, 所以每一次分完一颗糖后均要求当前状 ...

  5. Bootstrap实战 - 单页面网站

    一.介绍 单页面结构简单.布局清晰,常常用来做手机 App 或者某个产品的下载介绍页面.现在,展示型网页整体趋向于单页网站设计,这样一次性把核心信息展现出来,对于用户来说更加直观和简单,能够快速了解一 ...

  6. OpenHarmony集成OCR三方库实现文字提取

    1. 简介 Tesseract(Apache 2.0 License)是一个可以进行图像OCR识别的C++库,可以跨平台运行 .本样例基于Tesseract库进行适配,使其可以运行在OpenAtom ...

  7. 本周二晚19:00战码先锋第5期直播丨深入理解OpenHarmony系统启动,轻松踏上设备软件开发之旅

    OpenAtom OpenHarmony(以下简称"OpenHarmony")工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开 ...

  8. 编译opencv: cmake编译opencv,不带版本号

    在Linux上使用cmake编译OpenCV,默认都是协议版本号的,一般会生成三个文件,一个so和两个软链接. 在部分系统上移植的时候,软链接会成问题,所以需要重新编译OpenCV,解决软链接的问题. ...

  9. 使用pillow制作长图

    这是来自一个妹子的需求,需要将多张图片拼接成一张长图 我是使用pillow这个库来实现的,下面的简单的代码,操作比较简单,代码还有优化的空间 def test(dirpath): ims = [Ima ...

  10. JackSon反序列化通杀

    前言 Springboot一般都会自带JackSon这个依赖包,JackSon跟Fastjson有相同的功效 简单复现 package com.example.jakeson.demo; import ...