当前位置: 首页 > news >正文

Linux使用root用户安装完MySQL软件后,配置MySQL这个普通用户登录

在 Linux 系统中,当您使用 root 用户安装 MySQL 后,系统会自动创建一个名为 mysql 的系统用户。这个 mysql 用户主要用于管理 MySQL 服务的运行,通常是没有登录系统的权限的。如果您希望使这个 mysql 用户能够登录到系统,您需要设置一个密码并更改其登录壳(shell)。

以下是步骤:

  1. 设置密码:
    打开终端,并使用 root 用户执行以下命令来为 mysql 用户设置密码:

    sudo passwd mysql
    

    系统会提示您输入并确认新密码。

  2. 更改登录壳:
    默认情况下,mysql 用户可能没有有效的登录壳,通常是 /bin/false/sbin/nologin。您需要将其更改为有效的登录壳,如 /bin/bash。使用以下命令来更改:

    sudo usermod -s /bin/bash mysql
    

问题记录:登录后出现这种情况怎么解决:


在这里插入图片描述

通过修改 .bash_profile 解决了问题。以下所采取的解决方案的完整总结:

  1. 打开 .bash_profile 文件:
    您使用 vim 编辑器打开了位于您的用户主目录下的 .bash_profile 文件。这个文件是 bash shell 在登录时读取的配置文件,用于设置环境变量和用户偏好。

  2. 添加自定义 Shell 提示符配置:
    .bash_profile 文件中,您添加了以下行:

    export PS1="[\u@\h \W]\$ "
    

    这行命令的含义是:

    • export:设置环境变量。
    • PS1:这是 bash shell 的环境变量,用于定义命令提示符的外观和内容。
    • "[\u@\h \W]\$ ":这是您设置的新提示符格式。
      • \u:当前登录的用户名。
      • \h:当前的主机名。
      • \W:当前工作目录的基本名称。
      • \$ :提示符符号(对于普通用户是 $,对于 root 用户是 #`)。
  3. 应用更改:
    保存 .bash_profile 文件后,为了使更改立即生效,您需要重新加载配置文件。这可以通过注销再登录,或者在命令行中输入 source ~/.bash_profile 来实现。

经过这些步骤,您的 shell 提示符从默认的 -bash-4.2$ 更改为了新的格式,显示当前登录的用户名、主机名和当前工作目录,从而提供了更多的上下文信息和更佳的用户体验。

完成这些步骤后,mysql 用户就应该能够登录系统了。但是,请注意,出于安全考虑,通常不建议让用于运行服务的系统用户拥有登录系统的能力。如果您的目的只是为了管理 MySQL,建议使用其他具有适当权限的系统用户或通过 MySQL 的 root 账户来进行管理。

相关文章:

  • 深入理解ConcurrentHashMap源码解析
  • Azure Machine Learning - 使用 Azure OpenAI 服务生成文本
  • pytorch学习9-优化器学习
  • RepidJson将内容格式化后写入文件
  • 安卓adb【备忘录】
  • linux的权限741
  • uniapp-hubildx配置
  • 更改AndroidStudio模拟器位置
  • Linux系统调试课:PCIe调试手段
  • Verilog if语句阻断z状态传播
  • 【CSP】202309-2_坐标变换(其二)Python实现
  • 【python】pip install 国内源
  • PHP 判断给定两个时间是否在同一周,月,年
  • Android 手机屏幕适配方式和原理
  • javafx-在listview中添加了点击事件后会执行多次
  • 【剑指offer】让抽象问题具体化
  • Angularjs之国际化
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • codis proxy处理流程
  • express.js的介绍及使用
  • Fundebug计费标准解释:事件数是如何定义的?
  • IDEA 插件开发入门教程
  • JAVA SE 6 GC调优笔记
  • jquery cookie
  • nginx 配置多 域名 + 多 https
  • node-glob通配符
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • 从零开始在ubuntu上搭建node开发环境
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 入手阿里云新服务器的部署NODE
  • 小程序 setData 学问多
  • 协程
  • 延迟脚本的方式
  • 原生js练习题---第五课
  • FaaS 的简单实践
  • 阿里云ACE认证之理解CDN技术
  • 阿里云服务器如何修改远程端口?
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #14vue3生成表单并跳转到外部地址的方式
  • #ifdef 的技巧用法
  • #每天一道面试题# 什么是MySQL的回表查询
  • %@ page import=%的用法
  • (0)Nginx 功能特性
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (16)Reactor的测试——响应式Spring的道法术器
  • (30)数组元素和与数字和的绝对差
  • (C语言)fgets与fputs函数详解
  • (Forward) Music Player: From UI Proposal to Code
  • (LeetCode) T14. Longest Common Prefix
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (六)vue-router+UI组件库
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)