首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

非root 安装mysql

基础概念

MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),它支持多种操作系统,并且可以在非root用户下安装和运行。非root安装意味着数据库系统不是以超级用户(root)的身份运行,这样可以提高系统的安全性。

优势

  1. 安全性:非root用户运行MySQL可以减少安全风险,因为即使数据库被攻破,攻击者也无法获得系统的完全控制权。
  2. 权限管理:可以为不同的数据库操作分配不同的用户权限,实现更细粒度的访问控制。
  3. 隔离性:不同用户的数据和配置可以相互隔离,避免冲突。

类型

非root安装MySQL主要有以下几种方式:

  1. 使用普通用户安装:创建一个普通用户,然后以该用户的身份安装和运行MySQL。
  2. 使用容器化技术:如Docker,可以在容器中以非root用户运行MySQL。
  3. 使用系统服务管理工具:如systemd,可以为MySQL创建一个专用的服务单元,并指定非root用户运行。

应用场景

  1. 开发环境:在开发过程中,为了安全起见,通常使用非root用户运行数据库。
  2. 生产环境:在高安全要求的生产环境中,非root安装可以减少潜在的安全风险。
  3. 多租户系统:在多租户系统中,每个租户的数据需要隔离,非root安装可以实现这一点。

安装步骤(以Ubuntu为例)

  1. 创建新用户
代码语言:txt
复制
sudo useradd -m mysqluser
sudo passwd mysqluser
  1. 下载并解压MySQL
代码语言:txt
复制
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
sudo mv mysql-8.0.26-linux-glibc2.12-x86_64 /opt/mysql
  1. 切换到新用户并初始化MySQL
代码语言:txt
复制
sudo su - mysqluser
cd /opt/mysql
./bin/mysqld --initialize --user=mysqluser --basedir=/opt/mysql --datadir=/opt/mysql/data
  1. 启动MySQL
代码语言:txt
复制
./bin/mysqld_safe --user=mysqluser &

常见问题及解决方法

  1. 权限问题:如果遇到权限问题,可以使用chownchmod命令调整文件和目录的权限。
代码语言:txt
复制
sudo chown -R mysqluser:mysqluser /opt/mysql
sudo chmod -R 755 /opt/mysql
  1. 端口冲突:如果MySQL默认端口(3306)被占用,可以修改配置文件中的端口设置。
代码语言:txt
复制
sudo nano /opt/mysql/my.cnf

[mysqld]部分添加:

代码语言:txt
复制
port=3307
  1. 启动失败:如果MySQL启动失败,可以查看日志文件以获取更多信息。
代码语言:txt
复制
tail -f /opt/mysql/data/error.log

参考链接

通过以上步骤,你可以在非root用户下成功安装和运行MySQL,并解决常见的安装和运行问题。

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

相关·内容

Linux非root用户安装及配置MySql

文章时间:2020年1月17日 23:59:26 解决问题:Linux非root用户,纯内网环境下 安装及配置MySql 基于系统:RedHat CentOS MySql版本:5.7.29 非...一、下载安装包 二、解压及编写配置文件 1、解压文件 2、编写配置文件 三、安装MySql 四、启动MySql 五、登录MySql 1、获取root用户密码 2、登录MySql 查看报错 3、增加sock...路径进行启动 4、修改初始密码 5、查看MySql进程状态 六、参考文献 七、离线安装包 一、下载安装包 镜像站网址(极力推荐,下载速度贼快):http://mirrors.ustc.edu.cn/ 我用的经镜像站...五、登录MySql 1、获取root用户密码 初始密码在error.log文件中,输入如下命令: cat error.log | grep root@localhost 2、登录MySql 查看报错 这里因为是非...oper用户,所以正常登录命令应该是:bin/mysql -u root -p,但是即使你这样输入了,一样报错。

14.8K30
  • Centos 下非 Root 安装 Microsoft R Open

    Centos 下非 Root 安装 Microsoft R Open 作者: Hyacz hyacinth.hao@foxmail.com 2017年8月30日 本教程发布时仅针对 Microsoft...在测试的时候就遇到了在没有 root 权限要安装 MRO 的问题,经过百度、Google 都没有找到较好的方案,研究了 MRO 的安装脚本和解开 RPM 包分析了之后,最终采用手工安装的方式成功安装,遂成此文与大家分享...关于性能对比可以参考这个链接 官方安装指南 官方给出的指南是最简便快捷的(在你有 root 权限的时候) 参考这个链接:官方安装指南,总体思路就是下载,解压,用 root 权限运行安装脚本,然后按照提示一路...使用 Conda 安装 不需要 root 权限,但是需要能访问外网( -除非制作本地 Conda Channel- ),安装的版本稍落后。...root 权限安装上最新的 Microsoft R Open。

    2.5K130

    Linux非root用户安装及配置Nginx

    文章时间:2019年12月17日 11:08:08 解决问题:Linux系统非root用户安装及配置Nginx 基于系统:RedHat CentOS 说明:该文章还是用到了2次root权限,其中有一次...一、安装前置依赖 gcc编译器(第一次需要root权限) 这里我没研究非root用户安装(因为太麻烦了),后面我会单独出一篇文章,讲解非root用户安装gcc编译器。...直接使用su - 切换到root用户下面,使用yum安装gcc。...执行安装 make install 三、启动及配置 增加权限(第二次用到root权限) 非root用户运行nginx不能监听1024以下的端口号。...brotli/zlib/pcre/ssl,非root监听80端口:https://blog.csdn.net/hursing/article/details/93860565 zzw原创_非root用户下安装

    11.2K42

    Linux CentOS 7 非root用户安装源码版Docker

    Linux 版本:CentOS 7 注意:非root用户必须要有sudo权限 一、安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2...删除新增的用户和它的sudo权限(第2步没做请忽略此步) sudo vi /etc/sudoers   在92行下一行添加   test  ALL=(ALL)  ALL 两次退出,不然删除用户时会报错 二、安装.../usr/bin/目录下docker有关指令的所属用户和所属组(必做,不然非root用户使用docker指令报错:权限不够) sudo chown root:docker /usr/bin/docker...* sudo chown root:docker /usr/bin/containerd* sudo chown root:docker /usr/bin/runc sudo chown root:docker...查看所有容器(包括正在运行的、停止的,不包括删除的) docker ps -a 镜像的删除(删除镜像前请删除所有与该镜像有关的容器) docker rmi 镜像name:tag(或ID) 查看当前安装的

    3.3K20

    非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.3K20

    MHA非root用户搭建测试

    不过废话不多说,最近被分配了一项比较有意思的task,尝试着非root用户搭建MHA并测试下能否成功漂移,以下是两天测试和文档编写的成果,分享给各位看客,欢迎交流学习。...测试的步骤:        1、配置MHA复制集(master-slave-manager),GTID+Semi-Sync+并行复制 2、安装MHA及基本环境配置 3、MHA健康检查 4、MHA切换测试...rpl_semi_sync_master_enabled=on ;        .2、在MHA的slave或者manager节点上安装插件并开启slave的半同步               mysql...二、安装MHA及基本环境配置        1、在所有的节点上安装node数据包,在manager节点上安装manager数据包        2、编辑/etc/hosts文件,添加如下几行内容,指定各机器在...[root@172-16-3-189 masterha]# chown -R mysql:mysql /etc/masterha/                    [root@172-16-3-189

    82420

    安装mysql8.0.11以及修改root密码、连接navicat for mysql

    最近在学习node.js,少不得要跟数据库打交道,于是打算安装一个数据库软件,在mongedb和mysql之间选择了mysql。...按照网上的教程,可能是新版本的原因,关于root密码重置总是有一些问题,所以结合自己的安装过程就有了此篇博客,好了,废话不多说,下面进入正题。 1.1. ...登录mysql: 登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可) E:\mysql-5.7.20-winx64\bin>mysql -u root -p   Enter...use mysql;   update user set authentication_string=''  where user='root' 下面直接演示正确修改root密码的步骤:   二、使用ALTER...; *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE 至此,安装mysql和修改root密码告一段落。

    2.7K10
    领券