Mysql安全安装所需的信息

时间:2017-02-23 10:08:40

标签: mysql linux database bash

祝大家一切顺利,

我需要在RHEL7上以安全的方式安装Mysql,因此我已经研究了官方的mysql文档,推荐的安装方法是使用MySQL提供的rpm包。 为此,我们需要root权限来安装rpm。我已经通过root用户成功安装了rpm。现在我有一些怀疑,比如

  1. 安装MySQL之后,我们需要对dba admin执行的日常任务进行root访问吗?之后我们如何管理像MySQL这样的非root用户?

  2. 我测试了几件事:
     一个。安装完成后,一个mysql用户和组由Mysql-server rpm创建,并在执行[sudo -u mysql / bin / bash]之后使用mysql user.But是否为此mysql用户设置了密码?

    湾为了进行更多测试,我卸载了MySQL数据库并手动创建了mysql用户和组并设置了密码,然后安装了MySQL。 使用root用户,我可以成功启动/停止服务。 使用mysql用户如果我尝试启动,我会收到类似

  3. 的错误

    Starting MySQL: [ OK ] touch: cannot touch '/var/lock/subsys/mysqld\': Permission denied]

    ps -ef | grep mysql

    告诉mysqld_safe和mysqld在mysql帐户下运行。

    所以在这里我编辑文件/etc/init.d/mysqld然后我找到lockfile = / var / lock / subsys / $ prog并将其更改为lockfile = / var / lib / mysql / $ prog其中mysql用户有完全访问权限,这解决了我的问题。这是推荐的方式吗?

    1. / usr / bin /有mysq二进制文件,如mysqladmin,mysqldump由root拥有,这应该是。所以将来如果我不算root用户 然后这个mysql用户将能够完成所有必需的操作。在所有这些情况下,我都不考虑使用sudo。
    2. 任何建议?

1 个答案:

答案 0 :(得分:0)

无论如何,您的问题可能会被文档所涵盖:

  1. 不,您不需要root用户进行DBA执行的日常操作,您只需创建一个具有所有权限的MySql用户(请参阅grant MySql命令)

  2. a)通常不会使用 sudo ,但实际的mysql用户通常无法登录(在passwd文件中,shell应为/bin/false。 b)不,只需使用发行方式,所以安装RPM就可以了。或者使用手动方式,但我认为从长远来看更难(你不能使用发行版提供的任何自动化)

  3. 每个用户都可以使用这些命令,没有sudo或任何特殊权限。

  4. 由于您没有说什么,我想指出您可以采取的其他一些措施来保护您的数据库:

    1. 设置可以连接到db的主机,并仅允许它(它们)。如果您需要从少数主机连接,则可以使用子网掩码
    2. 为每个MySql用户提供除了完成工作所需的权限之外的所有权限,并且仅限于他需要的数据库。只有DBA才会例外,它显然需要访问所有数据库。
    3. 尽可能使用系统用户/密码。如果你的rlogin是john,你的Mysql用户和密码应该是不同的。
    4. 如果可能,在安装和创建DBA级别用户后,禁用从root
    5. 的访问权限

      希望这个帮助