精华内容
下载资源
问答
  • MySQL数据库安全加固方法
    千次阅读
    2021-01-27 22:29:14

    MySQL数据库安全加固方法

    基本安全原则

    选择稳定、无漏洞版本并及时升级更新、打补丁

    配置防火墙策略,更改默认端口

    避免使用弱口令,定期更新口令

    严格的权限分配和访问控制

    具体安全配置

    系统层面配置

    系统安装时,需要确认没有其他⽤户登录在服务器上。建议在服务器本地安装,不使⽤⽹络远程安装。

    数据库版本选择稳定、无漏洞的版本,并及时更新、打补丁

    查看系统防火墙或网络安全设备,是否有限制对MySQL数据库的访问

    不设置环境变量或确保MYSQL_PWD环境变量未设置敏感信息

    禁止使用命令行历史记录 Linux系统:

    执行如下命令:

    find / -name ".mysql_history"

    查看是否存在mysql的历史命令记录文件,如果存在,则需要进行如下加固:

    (1)删除.mysql_history文件;

    (2)设置环境变量MYSQL_HISTFILE为/dev/null,并添加到shell的初始化脚本中,创建mysql_history到/dev/null的链接:

    ln -s /dev/null $HOME/.mysql_history

    服务器配置

    严禁将数据库服务器允许从公⽹直接访问,也严禁将数据库服务器配置公⽹IP或通过⽹络设备映射出公⽹IP。

    在局域⽹内限制开放的端口。需要其他额外的端口,需要提出申请,并有⽂档记录。

    服务器不应该具备访问外⽹的能⼒(如有必要,可单向访问)。

    新的服务器正式投⼊使⽤前,必须经过安全加固。

    数据库通信安全

    通信加密 show variables like ‘have_openssl’;

    have_openssl=YES

    服务端证书验证 查看my.cnf文件[Client] 字段,已配置ssl_verify_server_cert参数

    SSL连接配置 1.show variables like ‘ssl_cert’;

    2.show variables like ‘ssl_key’;

    3.show variables like ‘ssl_ca’;

    ⽤户和密码配置

    严格限制Mysql帐户,使用专用的最小权限账号运行Mysql数据库进程

    重命名root账号

    禁止数据库账号共用

    控制最高权限只有管理员 使用如下sql语句:

    SELECT user, host FROM mysql.user

    WHERE (Select_priv = 'Y') OR (Insert_priv = 'Y') OR (Update_priv = 'Y')

    OR (Delete_priv = 'Y')  OR (Create_priv = 'Y')  OR (Drop_priv = 'Y');

    SELECT user, host FROM mysql.db WHERE db = 'mysql'

    AND ((Select_priv = 'Y') OR (Insert_priv = 'Y') OR (Update_priv = 'Y')

    OR (Delete_priv = 'Y') OR (Create_priv = 'Y') OR (Drop_priv = 'Y'));

    确保返回结果只能是数据库管理员账号。

    限制非管理员用户的权限 Mysql.user表中的权限列有:

    file_priv:表示是否允许用户读取数据库所在主机的本地文件;

    Process:表示是否允许用户查询所有用户的命令执行信息;

    Super_priv:表示用户是否有设置全局变量、管理员调试等高级别权限;

    Shutdown_priv:表示用户是否可以关闭数据库;

    Create_user_priv:表示用户是否可以创建或删除其他用户;

    Grant_priv:表示用户是否可以修改其他用户的权限;

    应确保只有数据库管理员才以下权限,使用如下sql语句查看拥有各个权限的数据库账号:

    select user, host from mysql.user where File_priv = 'Y';

    select user, host from mysql.user where Process_priv = 'Y';

    select user, host from mysql.user where Super_priv = 'Y';

    SELECT user, host FROM mysql.user WHERE Shutdown_priv = 'Y';

    SELECT user, host FROM mysql.user WHERE Create_user_priv = 'Y';

    SELECT user, host FROM mysql.user WHERE Reload_priv = 'Y';

    SELECT user, host FROM mysql.db WHERE Grant_priv = 'Y';

    确保查询结果中不存在非管理员用户。

    如果存在非管理员用户,使用如下命令进行权限回收:

    REVOKE FILE ON *.* FROM '';

    REVOKE PROCESS ON *.* FROM '';

    REVOKE SUPER ON *.* FROM '';

    REVOKE SHUTDOWN ON *.* FROM '';

    REVOKE CREATE USER ON *.* FROM '';

    REVOKE GRANT OPTION ON *.* FROM ;

    其中user为上述查询到的非管理员用户。

    合理控制DML/DDL操作授权

    DML/DDL语句包括创建或修改数据库结构的权限,例如insert、update、delete、create、drop和alter语句,在任何数据库中都要控制用户的此类权限,确保只授权给有业务需求的非管理员用户。Mysql命令行下执行如下命令:

    SELECT User,Host,Db FROM mysql.db WHERE Select_priv='Y'

    OR Insert_priv='Y' OR Update_priv='Y' OR Delete_priv='Y' OR Create_priv='Y'

    OR Drop_priv='Y' OR Alter_priv='Y';

    上述查询到的用户只能对特定的数据库才有相关的权限,使用如下命令进行相关权限的回收:

    REVOKE SELECT ON .FROM ;

    REVOKE INSERT ON .FROM ;

    REVOKE UPDATE ON .FROM ;

    REVOKE DELETE ON .FROM ;

    REVOKE CREATE ON .FROM ;

    REVOKE DROP ON .FROM ;

    REVOKE ALTER ON .FROM ;

    其中为查询到的未授权的用户,host为相关主机,database为相关数据库。

    历史命令行密码设置为不可见 (1)先输入mysql -u admin -p

    (2)根据命令行提示输入密码;

    而不要在一整条命令中输入密码。

    另外要控制mysql配置文件访问权限

    删除默认test数据库,测试帐号,空密码、匿名帐号 bash drop database if exists ${dbname};

    #删除冗余数据库, 如test

    bash drop user ''

    #清除无用用户(没有用户名的用户)

    SELECT user,host FROM mysql.user WHERE user = '';

    #使用该命令查询是否存在空账号

    禁止root远程登录 use mysql;

    # 切换到mysql数据库(这是MySQL自带的一个数据库,里面存放着一些root的配置信息);

    update user set host = "localhost" where user = "root" and host = "%";

    # 修改root用户的host属性,确保其为localhost,这表示只能本地访问(%表示可以远程访问);

    flush privileges; #刷新

    关闭Old_Passwords mysql> show variables like ‘%password%’;

    +—————+——-+

    | Variable_name | Value |

    +—————+——-+

    | old_passwords | OFF | ####这里表明已经关闭了旧密码选项

    +—————+——-+

    1 row in set (0.00 sec)

    secure_auth选项设置 如果客户端采用Old_passwords发起连接请求,如果服务器端设置了secure_auth,则客户端会拒绝连接请求,可以根据安全需求在配置文件中做相应配置。

    维护脚本禁止存放明文密

    确保所有用户都要求使用非空密码登录 执行如下语句查询是否有用户不需要密码即可登录:

    SELECT User,host

    FROM mysql.user

    WHERE (plugin IN('mysql_native_password', 'mysql_old_password')

    AND (LENGTH(Password) = 0

    OR Password IS NULL))

    OR (plugin='sha256_password' AND LENGTH(authentication_string) = 0);

    文件权限配置

    控制二进制日志文件的权限 mysql的运行会产生很多日志,例如二进制日志、错误日志、慢查询日志等等,Mysql命令行下执行如下命令:

    show variables like 'log_bin_basename';

    在终端命令行执行如下命令:

    ls .*

    对于发现的每一个文件,执行如下命令:

    ls -l | egrep "^-[r|w]{2}-[r|w]{2}----\s*.*$"

    # 根据输出确认日志文件的权限设置是否存在问题。

    对于每个日志文件,修改其权限和属组如下:

    chmod 660 chown mysql:mysql

    控制数据目录、基准目录的访问权限 数据目录是mysql数据库存放的位置,在mysql命令行界面下执行如下命令:

    show variables where variable_name = 'datadir';

    在终端命令行下执行如下命令:

    ls -l /.. | egrep "^d[r|w|x]{3}------\s*.\s*mysql\s*mysql\s*\d*.*mysql"

    # 其中是第一条命令的执行结果

    如果存在问题,linux环境下在终端执行如下命令进行加固:

    chmod 700 #仅MySQL数据库用户有读写权限

    chown mysql:mysql ​

    同理控制基准目录权限 ,仅DBA和数据库用户可访问

    控制错误日志文件的权限 Mysql命令行下执行如下命令:

    show variables like 'log_error';

    在终端命令行执行如下命令:

    ls .*

    对于发现的每一个文件,执行如下命令:

    ls -l | egrep "^-[r|w]{2}-[r|w]{2}----\s*.*$"

    # 根据输出确认日志文件的权限设置是否存在问题。

    对于每个日志文件,修改其权限和属组如下:

    chmod 660 chown mysql:mysql

    控制慢查询日志文件的权限 Mysql命令行下执行如下命令:

    show variables like 'slow_query_log_file';

    在终端命令行执行如下命令:

    ls .*

    对于发现的每一个文件,执行如下命令:

    ls -l | egrep "^-[r|w]{2}-[r|w]{2}----\s*.*$"

    根据输出确认日志文件的权限设置是否存在问题。

    对于每个日志文件,修改其权限和属组如下:

    chmod 660 chown mysql:mysql

    控制通用日志文件的权限 Mysql命令行下执行如下命令:

    show variables like 'general_log_file';

    在终端命令行执行如下命令:

    ls .*

    对于发现的每一个文件,执行如下命令:

    ls -l | egrep "^-[r|w]{2}-[r|w]{2}----\s*.*$"

    # 根据输出确认日志文件的权限设置是否存在问题。

    对于每个日志文件,修改其权限和属组如下:

    chmod 660 chown mysql:mysql

    控制审计日志文件的权限 Mysql命令行下执行如下命令:

    show global variables where variable_name =  'audit_log_file';

    在终端执行如下命令:

    ls -l | egrep "^-rw[-x]rw[-x][-r][-w][-x][ \t]*[0-9][ \t]*mysql[

    \t]*mysql.*$"

    # 根据输出确认日志文件的权限设置是否存在问题。

    对于每个日志文件,修改其权限和属组如下:

    chmod 660 chown mysql:mysql

    审计和日志

    开启错误日志审计功能 错误日志包括数据库运行和停止过程中的一系列活动信息,有助于分析数据库运行过程中的一些异常活动,一般情况下需要开启错误日志记录功能,使用如下命令查询:

    SHOW variables LIKE 'log_error';

    确保返回结果为非空,如果为空,需要在mysql数据库配置文件中增加相关配置

    确保日志存放在非系统区域 日志文件随着数据库的运行会不断增加,如果存放在系统区域,则会影响系统的正常运行,使用如下命令进行查询:

    SELECT @@global.log_bin_basename;

    确保返回结果不是如下路径:/、/var、/usr

    关闭原始日志功能 原始日志选项会决定一些敏感信息是否会被明文写进日志中,例如查询日志、慢查询日志、二进制日志,确保数据库配置文件中存在如下配置项:

    Log-raw = OFF

    更多相关内容
  • 整理的一些mysql数据库安全规范,解决数据库部分安全问题。
  • MySQL数据库安全配置也是很有必要的,现在的MySQL数据库中信息的安全性常常受到威胁,故安全配置必不可少。 由于MySQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在我们自己的使用环境下应该...
  • 数据库安全之Mysql数据库安全加固

    千次阅读 2020-05-19 10:20:43
    转载来源 : 数据库安全之Mysql数据库安全加固 :http://www.safebase.cn/article-260336-1.html 账号加固 以普通帐户安全运行mysqld,禁止mysql以root帐号权限运行。防止攻击者可能通过mysql进行提权。 配置/etc/my...

    转载来源 : 数据库安全之Mysql数据库安全加固 :http://www.safebase.cn/article-260336-1.html
    账号加固
    以普通帐户安全运行mysqld,禁止mysql以root帐号权限运行。防止攻击者可能通过mysql进行提权。

    配置/etc/my.cnf

    [mysql.server]
    user=mysql
    

    在这里插入图片描述
    减少管理员账户
    管理员账户越多,风险越大,所以你应该保持尽可能最少的帐户数量,只有为那些真正需要它的人创建账户。如果你有很多管理员账户,那你需要定期检查并清理那些不必要的账户。

    普通用户启动

    禁止以root账号运行mysqld;

    检测操作

    检查进程属主和运行参数是否包含–user=mysql类似语句:

    GRANT ALL ON . TO ‘root’@’%’;
    如上这种这其实是完全放开了所以ip对root的访问。所以应该把重要的操作限制给特定主机:
    GRANT ALL ON . TO ‘root’@‘localhost’;

    展开全文
  • mysql数据库安全

    千次阅读 2021-01-28 02:53:53
    什么是mysql数据库安全 简单又通俗的mysql库安全简介首先我们要了解一下什么是mysql数据库,mysql是目前网站以及APP应用上用的较多的一个开源的关系型数据库系统,可以对数据进行保存,分段化的数据保存,也可以对其...

    什么是mysql数据库安全 简单又通俗的mysql库安全简介

    首先我们要了解一下什么是mysql数据库,mysql是目前网站以及APP应用上用的较多的一个开源的关系型数据库系统,可以对数据进行保存,分段化的数据保存,也可以对其数据进行检索,查询等功能的数据库。

    默认的mysql数据库中存有一个库这个就是mysql的系统数据库,可以对其保存系统的数据包括mys...

    文章

    网站安全

    2018-10-09

    1123浏览量

    【MySQL】数据安全性讨论思维导图

    一  前言

    和团队内部的同事一起沟通,讨论了MySQL 数据库系统数据安全性问题,主要针对MySQL丢数据库的场景 ,主从不一致的场景 ,还有业务层面使用不得当导致主备库数据结构不一样的情况,本文是基于以上的讨论和总结做的思维导图。二 思维导图

    参考 资料

    [1] MYSQL数据...

    文章

    yangyi_dba

    2017-06-10

    894浏览量

    数据库基础技术实践#网络安全基础技术实践课程

    网络安全涉及的范围非常的广泛,涉及了IT领域中操作系统、网络、数据库、应用、开发等众多方面,因此在学习网络安全技术知识前,就需要我们掌握一定的基础IT技术知识。但掌握多少、掌握多深,成为了很多同学的难点。

    前面我们给大家对Linux、网络基础技术进行了介绍,接下来是数据库基础技术。

    该部分内容包括...

    文章

    tangjf10

    2019-09-18

    294浏览量

    ff0c35e3aa0877a25f7873cca08f3438.png

    Quick BI 数据可视化分析平台

    2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

    广告

    mysql 5.7 入门增删改查

    前言

    mysql 5.7版本 以下内容为mysql入门基础教程,在这里我总结一下。

    1.创建数据库

    msyql安装完成之后,将会在其data目录下自动创建几个必需的数据库,可以使用show databases;语句来查看当前所有存在的数据库,输入语句如下;

    可以看到,数据库列表中包含6个数据库...

    文章

    吴梦涵

    1970-01-01

    697浏览量

    mysql 5.7 入门增删改查

    前言

    mysql 5.7版本 以下内容为mysql入门基础教程,在这里我总结一下。

    1.创建数据库

    msyql安装完成之后,将会在其data目录下自动创建几个必需的数据库,可以使用show databases;语句来查看当前所有存在的数据库,输入语句如下;

    可以看到,数据库列表中包含6个数据库...

    文章

    李世龙ing

    1970-01-01

    1118浏览量

    如何仅用一个命令来提高MySQL安全系数?

    贵企业的数据中心很可能依赖一两台MySQL数据库服务器。如果真是这样,你应该确保自己的数据库是在着眼于安全的情况下安装和构建起来的。

    幸好,MySQL提供了一个使用方便的命令,这个命令对于加强安装的MySQL的安全大有帮助。单单这个命令具有下列功能:

    ·更新密码插件;

    ·为根帐户设置密码(如果已...

    文章

    泡泡浅眠

    2017-07-03

    1001浏览量

    【机会】知乎招DBA

    MySQL 架构师    工作地点在北京职位描述负责应用系统的数据库规划、数据库设计以及标准化建设负责数据库系统的升级、重构、备份、存储、扩容、集群、容灾系统的设计和实现负责及时跟踪数据库相关的技术动态以及问题解决技巧指导开发人员编写高性能的程序任职资格3 年以上 MySQL 数据库运维调优经验精...

    文章

    yangyi_dba

    2015-07-01

    916浏览量

    云服务器 ECS 建站教程:在ECS上部署数据库

    在ECS上部署数据库

    数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制.

    阿里云有提供相应的高可用数据库架构RDS,但由...

    文章

    琴瑟

    2017-08-10

    9128浏览量

    mysql修改本地主机连接

    在mysql数据库安装完毕后,为了能远程连接管理mysql数据库。我们一般是在mysql服务器上通过update命令来更新user表中的host记录的。如下:

    mysql -uroot -p123456

    update user set host=’%’ where user=’root’;

    FLU...

    文章

    烂泥行天下

    2016-05-12

    2185浏览量

    云服务器 ECS 建站教程:在ECS上部署数据库

    在ECS上部署数据库

    数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制.

    阿里云有提供相应的高可用数据库架构RDS,但由于...

    文章

    阿里妹子

    2019-04-19

    1144浏览量

    数据库必知词汇:数据库存储引擎

    数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。现在许多数据库管理系统都支持多种不同的存储引擎。MySQL的核心就是存储引擎。

    在Oracle 和S...

    文章

    萌萌怪兽

    2020-02-23

    120浏览量

    自建MySQL和阿里云RDS的区别 有必要使用云数据库吗?

    很多阿里云ECS用户都会考虑是使用ECS自建数据库还是使用阿里云的RDS云数据库,如何选择?有必要使用云数据库吗?云吞铺子告诉你使用阿里云RDS云数据库的理由:

    RDS的高可用性

    RDS提供了主备双节点的实例,双节点可以在同一地域的不同可用区,MySQL实例的双节点还可以在不同地域,当主实例出现故...

    文章

    云吞铺子

    2019-03-13

    4602浏览量

    自建MySQL和阿里云RDS的区别 有必要使用云数据库吗?

    很多阿里云ECS用户都会考虑是使用ECS自建数据库还是使用阿里云的RDS云数据库,如何选择?有必要使用云数据库吗?云吞铺子告诉你使用阿里云RDS云数据库的理由:

    RDS的高可用性

    RDS提供了主备双节点的实例,双节点可以在同一地域的不同可用区,MySQL实例的双节点还可以在不同地域,当主实例出现故...

    文章

    程序员YuXiao

    2020-04-20

    771浏览量

    手把手教你在CentOS 6.8中安装mysql

    @(Linux)[centos,mysql,安装]

    卸载掉原有mysql

    查看该操作系统上是否已经安装了mysql数据库:rpm -qa | grep mysql

    若有则卸载:rpm -e mysql  // 普通删除模式

    或者:rpm -e --nodeps mysql  // 强力删除模式...

    文章

    xmuwww

    2017-03-29

    936浏览量

    修改通达OA Mysql数据库密码

    有的用户,出于使用mysql数据库开发其他程序的需要,可能希望修改Mysql数据库的root用户密码,

    现做以下简要说明。

    由于OA使用的Mysql数据库被设定为只能从本机访问,所以普通用户不建议修改数据库密码,

    修改数据库密码并不是为了改善系统安全性的目的。

    windows-〉开始—〉运行,...

    文章

    梁东升

    2016-04-14

    867浏览量

    最大化资源管理技术红利, 阿里云重磅发布RDS MySQL专属主机组服务

    2020年1月9号,阿里云数据库RDS MySQL正式上线专属主机组产品,在RDS MySQL的所有能力之外,增值提供更多产品能力,包括数据库主机资源100%独占,提供数据库CPU超配能力。客户通过CPU超配,可实现在离线系统混部、低利用率的多业务系统共享超配CPU资源,可实现降低50%的成本支出...

    文章

    小攻云攻略

    2020-01-09

    146浏览量

    最大化资源管理技术红利, 阿里云重磅发布RDS MySQL专属主机组服务

    2020年1月9号,阿里云数据库RDS MySQL正式上线专属主机组产品,在RDS MySQL的所有能力之外,增值提供更多产品能力,包括数据库主机资源100%独占,提供数据库CPU超配能力。客户通过CPU超配,可实现在离线系统混部、低利用率的多业务系统共享超配CPU资源,可实现降低50%的成本支出...

    文章

    云攻略小攻

    2020-01-09

    4079浏览量

    class4 使用PolarDB和ECS搭建门户网站

    ------邓番豪

    创建DP数据库

    1.在管理后台创建数据库以及账户,并记住信息

    2.设置数据库白名单连接数据库需要设置数据库白名单,点击 [集群白名单],然后点击 [设置] 设置数据库集群白名单。

    在白名单界面将默认的白名单地址127.0.0.1更改为 0.0.0.0/0,然后点击 [确定] 使...

    文章

    向前后端前进的菜鸟

    2020-11-02

    36浏览量

    阿里云ECS 7天实践训练营 04 使用PolarDB和ECS搭建门户网站

    创建PolarDB数据库

    登陆阿里云控制台

    在左侧导航栏,依次单击产品与服务 => 云数据库PolarDB,进入云数据库PolarDB管理控制台。

    在左侧集群列表中,选择云产品资源提供的地域。例如:华东2(上海)。

    创建数据库账号

    在集群列表页面,单击集群ID,进入集群详情界面。

    单击...

    文章

    planetesimal

    2020-09-26

    18浏览量

    使用PolarDB和ECS搭建门户网站

    基于PolarDB和ECS实现搭建门户网站

    是阿里云自研的下一代关系型云数据库,有三个独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法,存储容量最高可达100TB,单库最多可扩展到16个节点,适用于企业多样化的数据库应用场景。

    优势:

    集群架...

    文章

    Amos

    2020-11-02

    447浏览量

    使用PolarDB和ECS搭建门户网站

    创建PolarDB数据库账号

    1.通过实验提供的阿里云账号登录阿里云在 阿里云控制台首页 左侧导航栏,依次单击 产品与服务 > 云数据库PolarDB ,进入 云数据库PolarDB管理控制台 。

    在 集群列表 页面,单击 集群ID ,单击左侧导航栏 配置与管理 > 账号管理 ,开...

    文章

    夕枫丶

    2020-09-26

    34浏览量

    Day4-使用PolarDB和ECS搭建门户网站

    创建PolarDB数据库账号

    在 阿里云控制台首页 左侧导航栏,依次单击 产品与服务 > 云数据库PolarDB ,进入 云数据库PolarDB管理控制台

    单击左侧 集群列表 ,然后选择云产品资源提供的地域。例如:华东2(上海)

    创建数据库账号

    在集群列表页面,单击集群ID ,进入集群...

    文章

    chagliam

    2020-09-26

    24浏览量

    同样是365天,但RDS for MySQL的这一年也太高产了...

    联合发布会?你听说过吗?今天(1月9号)下午15:00,RDS for MySQL专属主机组和专有宿主机DDH将开启首次联合发布会,你想要了解的:专属主机组形态RDS的核心功能与发展规划、RDS 内核AliSQL优势解读以及阿里云弹性计算亿级业务调度技术揭秘,全部一网打尽!

    点下方立即预约吧!

    h...

    文章

    Roin123

    2020-01-09

    384浏览量

    阿里云ECS 七天打卡 搭建门户网站

    创建PolarDB数据库

    使用SSH连接ECS

    安装LAMP

    LAMP是指运行在Linux下的Apache、MySQL和PHP的环境。参考以下操作在云服务器上安装开发环境。

    在ECS服务器上,执行以下命令安装Apache服务及其扩展包。

    yum -y install httpd httpd-ma...

    文章

    baluobo

    2020-09-26

    26浏览量

    【ECS七天实践训练营】——使用ECS和PolarDB搭建门户网站

    背景知识

    PolarDB数据库

    PolarDB是阿里云自研的下一代关系型云数据库,有三个独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法,存储容量最高可达100TB,单库最多可扩展到16个节点,适用于企业多样化的数据库应用场景。PolarDB采...

    文章

    张世龙zsl

    2020-11-02

    62浏览量

    MySQL 教程

    MySQL 教程

    mysqlMysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。在本教程中,会让大家快速掌握Mysql的基本知识,并轻松使用Mysql数...

    文章

    吴梦涵

    1970-01-01

    718浏览量

    MySQL 教程

    MySQL 教程

    mysqlMysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。在本教程中,会让大家快速掌握Mysql的基本知识,并轻松使用Mysql数...

    文章

    李世龙ing

    1970-01-01

    714浏览量

    关于MySQL数据库漏洞情况的通报

    本文讲的是 关于MySQL数据库漏洞情况的通报,近日,互联网上披露了关于MySQL数据库存在代码执行漏洞(CNNVD-201609-183)的情况。由于MySQL数据库默认配置存在一定缺陷,导致攻击者可利用该漏洞对数据库配置文件进行篡改,进而以管理员权限执行任意代码,远程控制受影响服务器。目前,O...

    文章

    晚来风急

    2017-09-04

    1532浏览量

    ECS第四天-使用polarDB和ECS搭建门户网站

    PolarDB是阿里云自研的下一代关系型云数据库,有三个独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法,存储容量最高可达100TB,单库最多可扩展到16个节点,适用于企业多样化的数据库应用场景。

    读一致性。集群地址利用LSN(Log Sequ...

    文章

    婉章

    2020-11-03

    77浏览量

    Day 4 使用PolarDB和ECS搭建门户网站

    登录控制台后创建在 阿里云控制台首页 左侧导航栏,依次单击 产品与服务 > 云数据库PolarDB ,进入 云数据库PolarDB管理控制台 。

    单击左侧 集群列表 ,然后选择云产品资源提供的地域。例如:华东2(上海)。

    创建数据库账号。

    在 集群列表 页面,单击 集群ID ,进入 集...

    文章

    游客hssr5euifar42

    2020-12-02

    42浏览量

    展开全文
  • MYSQL数据库安全.pdf

    2010-09-21 10:44:16
    MYSQL数据库安全.pdf saivicky出品,必属精品!
  • Mysql数据库安全性问题【防注入】

    万次阅读 2018-02-02 23:59:16
    一、SQL注入实例 后台的插入语句代码: $unsafe_variable = $_...mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')"); 当POST的内容为: value'); DROP TAB

    一、SQL注入实例


    后台的插入语句代码:


    $unsafe_variable = $_POST['user_input'];   
    mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')"); 
    


    当POST的内容为:


    value'); DROP TABLE table;--
    


    以上的整个SQL查询语句变成:


    INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')  
    




    二、防止SQL注入措施



    1.使用预处理语句和参数化查询。(‘Use prepared statements and parameterized queries.’) 


    SQL语句和查询的参数分别发送给数据库服务器进行解析。这种方式有2种实现: 


    (1)使用PDO(PHP data object)


    $stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name'); 
    $stmt->execute(array('name' => $name));  
    foreach ($stmt as $row) { 
     // do something with $row  
    }  


    (2)使用MySQLi


    $stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');  $stmt->bind_param('s', $name);  
    $stmt->execute();  
    $result = $stmt->get_result();  
    while ($row = $result->fetch_assoc()) {  
        // do something with $row  }  
    


    2.对查询语句进行转义(最常见的方式)


    $unsafe_variable = $_POST["user-input"];  
    $safe_variable = mysql_real_escape_string($unsafe_variable); 
    mysql_query("INSERT INTO table (column) VALUES ('" . $safe_variable . "')");  
    
    
    $mysqli = new mysqli("server", "username", "password", "database_name");  
    // TODO - Check that connection was successful.  
    $unsafe_variable = $_POST["user-input"];  
    $stmt = $mysqli->prepare("INSERT INTO table (column) VALUES (?)");  
    // TODO check that $stmt creation succeeded  
    // "s" means the database expects a string 
    $stmt->bind_param("s", $unsafe_variable); 
    $stmt->execute();  
    $stmt->close();  
    $mysqli->close();  
    


    3.限制引入的参数


    $orders  = array("name","price","qty"); //field names  
    $key     = array_search($_GET['sort'],$orders)); // see if we have such a name  
    $orderby = $orders[$key]; //if not, first one will be set automatically. smart enuf :)  
    $query   = "SELECT * FROM `table` ORDER BY $orderby"; //value is safe  
    


    4.对引入参数进行编码


    SELECT password FROM users WHERE name = 'root'            --普通方式  
    SELECT password FROM users WHERE name = 0x726f6f74        --防止注入 
    SELECT password FROM users WHERE name = UNHEX('726f6f74') --防止注入 
    set @INPUT =  hex("%实验%");  
    select * from login where reset_passwd_question like unhex(@INPUT) ;  
    
    


    转自 : http://blog.csdn.net/ty_hf/article/details/49076807?locationNum=14&fps=1
    展开全文
  • MySQL 数据库安全管理

    千次阅读 多人点赞 2020-04-27 10:38:49
    MySQL 数据库安全管理 一、前言 数据安全是每一个企业都非常关注的问题,甚至有的企业,数据就是一切,失去数据则可能造成无法估计,无法挽回的损失,甚至产品永久下线的风险。 本文将介绍MySQL安全管理...
  • MySQL数据库安全基线(加固方法)

    千次阅读 2018-12-06 15:29:56
    MySQL数据库安全加固方法 基本安全原则 选择稳定版本并及时更新、打补丁 严禁使用弱口令,定期更新口令 严格的权限分配和访问控制 具体安全配置 系统层面配置 系统安装时,需要确认没有其他⽤户登录在服务器上。...
  • mysql数据库外文文献

    2018-08-16 15:06:26
    大学生毕业论文设计所需要用到的mysql数据库外文文献。
  • MySQL数据库面试题(2020最新版)

    万次阅读 多人点赞 2020-03-10 17:20:40
    数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4...
  • 对于MySQL数据库四种隔离等级

    千次阅读 2021-01-18 21:04:48
    对于MySQL事务有四种隔离级别,分别是以下四种:1.读未提交2.读提交3.可重复读4.串行化(加锁)对于隔离我们都是说在并发的情况下发生的事情,读取的数据在并发的情况下会发生什么情况。并且我们知道所有的事务都是...
  • 一、数据库主从配置 原理: (1)master将数据改变记录到二进制日志中,也就是配置文件log-bin指定的文件 (2)Slave通过I/O线程读取master中...登录MySQL数据库:mysql -uroot -p Ubuntu IP:192.168.0.129 1、修改mas
  • Mysql数据库下载

    2019-02-14 14:48:05
    Mysql数据库是工作中常用的数据仓库,开发使用方便,轻量级事务安全性数据库
  • 前端到全栈 -- js连接MYSQL数据库

    千次阅读 2021-03-10 16:44:50
    前端到全栈–node.js连接MYSQL数据库 前置条件: 安装node环境 安装mysql数据库 这里建议使用webstorm来写js 1.创建一个文件夹(这里以server为文件夹名举例),在命令行中输入 cd server npm install mysql 这里是...
  • MySQL数据库启用安全审计功能

    千次阅读 2019-12-10 21:17:17
    它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全数据库审计可以记录某用户在某个时间点对数据库的操作,包括...
  • 数据库安全检查与加固学习笔记

    千次阅读 2022-03-26 19:04:45
    1.mysql数据库安全管理 禁止MySQL已管理元的身份账号权限运行 用普通账户运行mysqld 加固方法: MySQL my.cnf配置文件中配置user=mysql 设置root用户名口令并修改登录名,且不存在空密码账号 1.ccess MySQL...
  • MySQL数据库安全机制管理实验

    千次阅读 多人点赞 2019-11-21 16:27:18
    这里有个数据库备份目录的设置需要完成 找到自己MySQL目录下的my.ini文件,修改读写权限。 #一般是在这个目录下,根据实际情况判断 C:\Program Files\MySQL\MySQL Server 5.5 右键选择属性->安全-&...
  • mysql数据库安全模式登陆

    千次阅读 2017-03-15 16:52:28
    当使用mysql数据库提示密码错误或无权限等问题时,可以通过mysql的安全模式启动数据库,使所有用户可以完全访问所有的表,可以对用户重设密码,也可以进行权限修改。 1:首先关闭mysql数据库,并结束所有mysqld进程...
  • MySQL 数据库简介

    千次阅读 2021-10-21 10:29:30
    文章目录前言一、数据库的基本概念1. 数据(Data)2.数据库表与和数据库(DB)3.数据库管理系统(DBMS)4.数据库系统(DBS)二、DBMS的工作...可以满足应用的共享和安全方面得要求 一、数据库的基本概念 1. 数据(Dat
  • MSSQL to MySQL 是一个功能强大的数据库转换程序,程序可以帮助你快速安全的将MySQL数据库转换为MS SQL数据库,可以直接连接导入,也可以生成脚本。
  • 如何提高mysql安全

    千次阅读 2021-01-18 21:14:23
    一 作为最流行的开源数据库引擎,MySQL本身是非常安全的。即便如此,你仍然需要添加额外的...二 保护操作系统确保操作系统的安全是保护数据库安全的前提,因为如果整个运行环境不安全,那么网站上所有的东西都脆弱...
  • 0 在性能及安全方面有着很大的提升,因此需要升级数据库。本文通过逻辑方式、物理方式原地升级来介绍MySQL5.6 升级至MySQL5. 7 的方法,并介绍其使用场景。1. 逻辑方式升级逻辑方式升级其实就是通过逻辑备份工具...
  • MySQL是一种开源关系数据库管理系统(RDBMS),它使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。MySQL是开源的,因此任何人都可以根据通用公共许可证下载并根据个人需要对其进行修改。它的速度,...
  • Mysql 数据库(一)—— 初识 Mysql

    千次阅读 多人点赞 2021-08-02 21:20:09
    Mysql 数据库(一) 前一段时间 ,我们完成了 Java 集合与数据结构的学习 , 之后我们将进入 Mysql 数据库的课程中。 一、数据库 首先我们要学习的是数据库的知识,那么数据库 到底是什么呢? 同时我们在刚开始学习 ...
  • 宝塔面板Mysql数据库无法启动

    千次阅读 2021-03-13 08:28:03
    今天遇到了一个非常奇怪的现象,phpmyadmin连接不上数据库了很明显,mysql没有正常启动。因为用的是宝塔面板,所以在后台看了下状态:试着重启发现也不行,提示如下错误:[root@localhost~]#...
  • MySQL安全性机制

    千次阅读 2021-11-22 20:48:05
    MySQL软件中存在许多系统数据库,其中一个名为mysql数据库,在该数据库下存储的都是关于权限的表。其中最重要的表是mysql.user、mysql.db,本节将详细介绍这些涉及权限的系统表。 1.1系统表mysql.user 在系统...
  • 如何使用MySQL数据库

    千次阅读 2021-01-18 18:09:12
    如何使用MySQL数据库前言:前面我们已经了解了如何搭建MySQL数据库,那么接下来我们就一起来了解一下,如何使用MySQL数据库MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构应用,要访问MySQL数据库需要使用...
  • MySQL和PostgreSQL数据库安全配置

    千次阅读 2022-04-18 16:52:09
    针对开源数据库MySQL和PostgreSQL的安全配置主要主要通过身份鉴别、访问控制、安全审计、入侵防范、资源控制五个方面来实现。 0x01 身份鉴别 MySQL和PostgreSQL均可以实现身份鉴别功能。通过设置数据库基本上能够...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 408,577
精华内容 163,430
关键字:

mysql数据库安全

mysql 订阅