首页
学习
活动
专区
圈层
工具
发布

mysql设置非root用户登录

基础概念

MySQL 是一个关系型数据库管理系统,广泛用于存储和管理数据。为了安全起见,通常不建议使用 root 用户进行日常操作,而是创建具有特定权限的非 root 用户。

设置非 root 用户登录的优势

  1. 安全性:限制 root 用户的权限可以减少数据库被恶意攻击的风险。
  2. 权限管理:不同的用户可以有不同的权限,便于管理和维护。
  3. 审计和追踪:通过日志可以更容易地追踪和审计数据库操作。

类型

MySQL 用户可以分为以下几类:

  • 普通用户:具有特定的权限,可以进行读写操作。
  • 管理员用户:具有管理数据库的权限,但不一定是 root 用户。
  • 只读用户:只能读取数据,不能进行写操作。

应用场景

在开发环境中,通常会创建一个具有读写权限的非 root 用户用于开发和测试。在生产环境中,会创建多个具有不同权限的用户,以确保数据的安全性和完整性。

设置非 root 用户登录的步骤

  1. 登录 MySQL:
  2. 登录 MySQL:
  3. 创建新用户:
  4. 创建新用户:
  5. 授予权限:
  6. 授予权限:
  7. 刷新权限:
  8. 刷新权限:
  9. 退出 MySQL:
  10. 退出 MySQL:

示例代码

假设我们要创建一个名为 devuser 的用户,密码为 devpassword,并授予其对 mydatabase 数据库的读写权限:

代码语言:txt
复制
-- 登录 MySQL
mysql -u root -p

-- 创建新用户
CREATE USER 'devuser'@'localhost' IDENTIFIED BY 'devpassword';

-- 授予权限
GRANT SELECT, INSERT, UPDATE, DELETE ON mydatabase.* TO 'devuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

-- 退出 MySQL
EXIT;

参考链接

常见问题及解决方法

  1. 权限不足:
    • 确保你已经正确授予了用户所需的权限。
    • 使用 SHOW GRANTS FOR 'username'@'host'; 查看用户的权限。
  • 无法登录:
    • 确保用户名和密码正确。
    • 确保用户可以从指定的主机登录(例如 localhost 或 %)。
  • 权限未生效:
    • 确保在授予权限后执行了 FLUSH PRIVILEGES;。

通过以上步骤和示例代码,你可以成功设置非 root 用户登录 MySQL,并解决常见的权限问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Ubuntu主机设置Root用户登录教程

很多时候拿到的Ubuntu主机分配给的用户是ubuntu用户,如果没有root用户权限做事情会变得麻烦,每次做什么都要sudo一下,下面介绍怎么设置root用户的ssh登录: 1、设置root密码,可以修改成和...ubuntu用户一样,方便记忆。...先使用ubuntu用户ssh登录,然后执行命令 sudo passwd root 接着输入root密码,屏幕不会像Windows那样出现星号,输完密码敲回车键就可以了,要输入两次密码。...修改ssh登录的配置,即/etc/ssh/sshd_config文件,修改为允许root登录,可以执行命令: sudo vim /etc/ssh/sshd_config 注意:这里的sudo前缀不可少,...重启ssh服务使刚才的ssh配置的修改生效,执行命令 sudo service ssh restart 使用root用户测试登录,成功。

6.3K30
  • Linux非root用户安装及配置MySql

    文章时间:2020年1月17日 23:59:26 解决问题:Linux非root用户,纯内网环境下 安装及配置MySql 基于系统:RedHat CentOS MySql版本:5.7.29 非...root用户名称为:oper 说明:该文章不吹不闹,吊打某度上95%以上的教程,我测试了前3页面的文章,某度教程只有1篇可用的文章,我会加到底部的参考文献里面。...一、下载安装包 二、解压及编写配置文件 1、解压文件 2、编写配置文件 三、安装MySql 四、启动MySql 五、登录MySql 1、获取root用户密码 2、登录MySql 查看报错 3、增加sock...五、登录MySql 1、获取root用户密码 初始密码在error.log文件中,输入如下命令: cat error.log | grep root@localhost 2、登录MySql 查看报错 这里因为是非...oper用户,所以正常登录命令应该是:bin/mysql -u root -p,但是即使你这样输入了,一样报错。

    16.6K30

    非root用户tomcat daemon配置

    基于安全策略来考虑,绝大多数应用程序都应以非root用户来启动,对于轻量级的应用程序,如tomcat,用root再寻常不过了。你懂的,方便啊。在生产环境这么干很容易被攻击者通过脚本干太多的事情了。...因此生产环境就还是麻烦一点吧,使用非root用户来启动。本文演示了基于非root用户启动tomcat,同时将其作为一个daemon服务随服务器自启动。...html;charset=ISO-8859-1 Transfer-Encoding: chunked Date: Thu, 02 Nov 2017 07:35:08 GMT 三、基于su命令实现非root...非daemon方式 直接使用su - tomcat方式来实现非root用户运行tomcat程序 [root@node132 ~]# vim /etc/init.d/tomcat #!...html;charset=ISO-8859-1 Transfer-Encoding: chunked Date: Thu, 02 Nov 2017 09:20:54 GMT 四、基于sudo命令实现非root

    1.9K20

    MHA非root用户搭建测试

    不过废话不多说,最近被分配了一项比较有意思的task,尝试着非root用户搭建MHA并测试下能否成功漂移,以下是两天测试和文档编写的成果,分享给各位看客,欢迎交流学习。...MySQL用户要同一组        2、传递公钥的用户要有sudo权限且能通过某一端口进行文件的传递        3、传递公钥的用户要有摘除、添加VIP的权限,且在线切换的脚本要更改root为传递公钥的用户...4、给传递公钥的用户设置密码,这里我们使用的就是mysql用户,如果使用其他用户还需要将这个配置互信使用的用户加入到mysql用户组;这个用户还需要有sudo权限,因为MHA的切换过程中有VIP的摘除和添加过程...username判断用户行为是否是传递公钥使用的用户mysql              #mha_master上配置到mha_backup、mha_manager的无密码登录              .../data  7.3编辑自动漂移和手动漂移的脚本文件并授予可执行权限,以及VIP漂移处给予sudo的权限,这里将用户设置为可sudo,是给予摘除和添加VIP的权限        [root@172-16

    1.3K20

    centos安装mysql时未设置root密码,导致无法登录

    昨天给公司内网开发用服务器装系统,然后装mysql居然花了一天,昨天一天都是启动mysql时提示:The server quit without updating PID file,今天重装了mysql...(明明昨天/usr/my.cnf就是默认的,有个解决方法说改这个文件才改的) 然后现在就到没有设置root密码的问题了,搜了几个方法都不行,直到看到下面这个方法一才行。...mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; mysql...newpassword> mysql> 方法二: 直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: # mysql -udebian-sys-maint...USER=’root’; mysql> FLUSH PRIVILEGES; mysql> quit # mysql -uroot -p Enter password: <输入新设的密码newpassword

    7.7K40

    CentOSLinux 禁止root用户远程登录

    在Linux中,root几乎拥有所有的权限,一旦root用户密码外泄,对于服务器而言将是致命的威胁,禁止root用户通过ssh的方式远程登录,这样即使root用户密码外泄也能够保障服务器的安全。...Linux系统为:CentOS 6.5 1:创建一个普通用户doiido并加入相应的组 注意:这里必须要新建一个用户,否则将会造成无法通过远程ssh登录服务器 # groupadd doiido # useradd...-g doiido doiido 更改用户 doiido 的密码 # passwd doiido 2:修改sshd_config文件 # sed -i 's/#PermitRootLogin yes/...PermitRootLogin no/' /etc/ssh/sshd_config 3:重启ssh服务 # service sshd restart 这样即使root用户密码泄漏,别人也无法通过root...用户直接连接服务器 Linux下禁止root用户远程登录  http://www.linuxidc.com/Linux/2012-09/70892.htm

    4.8K20

    Linux系统怎么设置允许root登录

    默认情况下,出于安全考虑,很多 Linux 发行版会禁用 root 用户的 SSH 登录。因此,你可以按照以下步骤来允许 root 用户通过 SSH 登录:1....如果该行已经存在并且被设置为 no,你可以将其修改为 yes 来允许 root 登录。...使用 SSH 登录为 root 用户现在,你应该能够使用 root 用户通过 SSH 登录了。...安全考虑虽然可以允许 root 用户通过 SSH 登录,但出于安全考虑,通常推荐禁止 root 直接登录,而是使用普通用户先登录,然后通过 sudo 或 su 切换到 root 权限。...总结要允许 root 用户通过 SSH 登录:修改 /etc/ssh/sshd_config 文件,将 PermitRootLogin 设置为 yes 或 prohibit-password(推荐使用密钥认证

    5.4K11
    领券