linux下普通用户安装MySQL--非root用户安装MySQL(以阿里云服务为主)

前言

1. 下载安装包

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz

在这里插入图片描述

  • 但是这个下载有点慢,文件比较大,所以你可以选择先下载到本地,然后再上传到服务器上

2.安装前检查是否自带安装 MySQL:

rpm -qa | grep mysql

在这里插入图片描述

  • 如果有,卸载即可
rpm -e mysqlXXX  // 普通删除模式
rpm -e --nodeps mysqlXXX  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
  • 然后再检查否存在 mariadb 数据库,如果有,同样卸载即可
rpm -qa | grep mariadb

在这里插入图片描述
我这里是存在的,网上好多都是让卸载的,我是用普通用户安装的,我们不妨试试不卸载就安装,有问题再搞呗,所以选择不卸载 mariadb安装。

2. 解压安装包

  • 我习惯解压各种安装包的时候指定解压路径,个人看着舒服,这个看你习惯了
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C ../install/mysql/

在这里插入图片描述

  • 进入解压后的目录查看
    在这里插入图片描述

3. 添加环境变量path设置(可不设置看个人)

(1)vim ~/.bashrc

  • 在文件的末尾添加:
export MYSQL_HOME=/home/susu/soft/install/mysql/mysql-5.7.36-linux-glibc2.12-x86_64

在这里插入图片描述

  • 或者进家目录下修改
    在这里插入图片描述

(2) source ~/.bashrc

修改 .bashrc 文件后,记得 source ~/.bashrc

(3)再次访问解压路径

直接用:cd $MYSQL_HOME
在这里插入图片描述

(4)修改解压后的文件名

  • 文件名太长,看着难受还是修改一下吧,当然看你自己喜欢,不想修改就忍着,修改完后上述3步骤记得重新改,为了避免这种情况发生,你也可以解压前就修改掉
mv mysql-5.7.36-linux-glibc2.12-x86_64  ./mysql-5.7.36

4. 创建用户组和用户

(1)创建mysql用户组

  • 查看是否已有该用户组,有不用创建:cat /etc/group | grep mysql
  • 没有则创建:groupadd mysql

(2)添加用户mysql 到用户组mysql

  • useradd -g mysql mysql,添加后设置密码:passwd mysql

(3)添加其他用户到用户组mysql

  • 给已有用户添加附加组:usermod -a -G 附加组名 用户名(eg:usermod -a -G mysql susu

(4)添加后查看用户所属组以及查看组下的用户

这里我是用 susu 用户安装的,所以把此用户添加到了mysql用户组

  • 查看该用户所在组:
    groups 组名 (eg:groups mysql)或者:id 用户 (eg:id susu
  • 查看某组下的用户:
cat /etc/group | grep mysql

在这里插入图片描述

(5)更改文件所属组和所有者

  • chown 命令(用于更改文件的所有者)
    1.格式:chown -R 用户名 文件名
    2.格式:chown -R 用户名.组名 文件名 (将所有者和所属组都更改了)eg:chown -R mysql.mysql 文件名
  • 我上面已经将用户susu添加到用户组mysql,所以在这里只改所属组,用命令 chgrp(用于更改文件或者目录的所属组)
    格式:chgrp 【组名】 【文件名】
    备注:chgrp -R (可以级联更改子目录及子文件)
chgrp -R mysql mysql-5.7.36
sudo chgrp -R mysql mysql-5.7.36

在这里插入图片描述

5. 创建自定义配置文件

(1)创建 data 目录

  • 进解压后的目录,mkdir data
    在这里插入图片描述

(2)修改解压后的文件名

  • 文件名太长,看着难受还是修改一下吧,当然看个人
mv mysql-5.7.36-linux-glibc2.12-x86_64  ./mysql-5.7.36

(3)创建一个my.cnf文件

  • 同样在此目录下再创建my.cnf文件,vim ./my.cnf
    在my.cnf中输入下段代码:
[mysqld]
# 这步是为了跳过root的密码验证,如果是你个人使用的话,其实不用密码更方便
skip-name-resolve
skip-grant-tables	
#设置3306端口
port = 3306
#这个不需要自己创建,把路径指定好就行
socket=/home/susu/soft/install/mysql/mysql-5.7.36/mysql.sock	

# 设置mysql的安装目录,我用的是刚才bashrc里设置的MYSQL_HOME
# 特别注意,不要直接写$MYSQL_HOME,要打完整的路径,不然mysqld启动时会有奇怪的错误
basedir=/home/susu/soft/install/mysql/mysql-5.7.36
# 设置mysql数据库的数据的存放目录, 这里就是刚才我们创建的data目录的路径
datadir=/home/susu/soft/install/mysql/mysql-5.7.36/data
log-error=/home/susu/soft/install/mysql/mysql-5.7.36/log/mysql.log
pid-file=/home/susu/soft/install/mysql/mysql-5.7.36/mysql.pid

# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M

#plugin所在目录 这步很重要,这个得手动指定,不然会报错。该目录不需要手动创建,在$MYSQL_HOME/lib下面有
plugin_dir=/home/susu/soft/install/mysql/mysql-5.7.36/lib/plugin

在这里插入图片描述

6. 启动mysql服务以及创建数据库

(1)初始化mysqld(不用也行)

  • 进入安装目录:cd /home/susu/soft/install/mysql/mysql-5.7.36
  • 执行命令:
./bin/mysqld --initialize --user=susu --basedir=$MYSQL_HOME/ --datadir=$MYSQL_HOME/data/
  • 也可以在任何目录下执行(前提是:先配置$MYSQL_HOME环境变量):
$MYSQL_HOME/bin/mysqld --initialize --user=susu --basedir=$MYSQL_HOME/ --datadir=$MYSQL_HOME/data/ 

在这里插入图片描述

(2)初始化之后,进日志目录,查看日志找临时密码

  • 这个密码需要的话查看,不需要的话可以不用管
    在这里插入图片描述

(3)mysql的几种启动方式

1)mysqld启动

a. mysqld启动关闭命令
  • 启动命令(指定 my.cnf 文件,注意是 mysqld ):$MYSQL_HOME/bin/mysqld --defaults-file=$MYSQL_HOME/my.cnf --user=susu
    在这里插入图片描述
  • 启动之后查看进程:ps -ef | grep mysql
    在这里插入图片描述
  • server关闭,把mysqld的进程kill掉就好了kill -9 PID
    在这里插入图片描述
b. mysqld启动之后进行客户端连接

连接的时候不指定配置文件可以,用命令:

$MYSQL_HOME/bin/mysql --defaults-file=$MYSQL_HOME/my.cnf

或者 $MYSQL_HOME/bin/mysql 都可以
注意:如果没有配置环境变量,注意路径:./bin//mysql

  • 可能出现的问题:
    在这里插入图片描述
  • 如果出现上述这种情况,这是因为我们的my.cnf配置文件里把跳过密码注释掉了,放开即可
    在这里插入图片描述
  • 杀了mysqld进程,重新启动,重新连接即可:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
c. 用可视化工具navicat连接测试
  • 因为我们配置的不需要验证密码,所以直接空着就行
    在这里插入图片描述
    在这里插入图片描述
  • 连上之后就可以创建数据库以及表了
    在这里插入图片描述
  • 我们也可以在shell命令里查看数据
    mysql查看数据库的命令:SHOW DATABASES;
    可以看到我们刚建的数据库liususu,查表
    select * from liususu.student;
    在这里插入图片描述
d. 另外,可配置短命令进入mysql命令模式

我们也可以配置短命令进入mysql命令模式:

alias mysql=/home/susu/soft/install/mysql/mysql-5.7.36/bin/mysql

在这里插入图片描述

2)mysqld_safe启动

a. 启动命令等
  • 先杀了mysql相关的所有进程
  • 然后执行下面命令启动(免密登录,可修改用户密码):
$MYSQL_HOME/bin/mysqld_safe --skip-grant-tables &
  • 使用命令 $MYSQL_HOME/bin/mysql 连接客户端
    在这里插入图片描述
  • 接下来如何使用就和上面的一样的
b. 说一下修改mysql中root用户的密码

在这里插入图片描述

3)mysql.server启动

  • 只需将安装目录下的文件 mysql.server 拷贝到 /etc/init.d/即可:
cp -v /home/susu/soft/install/mysql/mysql-5.7.36/support-files/mysql.server /etc/init.d/
  • 启动直接命令:service mysql.server start,其他参数需要的时候可用:service mysql.server {start|stop|restart|reload|force-reload|status}
    在这里插入图片描述
    在这里插入图片描述
  • 可将mysql服务加入chkconfig管理(不是必须,了解即可)
    chkconfig --add mysql.server
    想了解,可参考:Chkconfig 作用与原理小结.
    在这里插入图片描述
    在这里插入图片描述

4)更改启动方式为 service mysqld start

  • 为了简单可将第一种mysqld启动更改启动方式为 service mysqld start,自己想弄的可以尝试一下,在此不做介绍了

(4)遇到的相关问题

1)libaio 缺少,如图保存报错

在这里插入图片描述

  • 解决:登录root用户安装即可:yum install libaio
    在这里插入图片描述

2)其他

  • 待大家常见问题补充!
云原生技术中,Docker是一个流行的容器化平台,它使得应用可以在任何环境中快速、可靠地运行。要在阿里云服务器的Linux环境下安装Docker,可以按照以下步骤操作: 1. **安装前检查**: - 确保你的服务器Linux,比如Ubuntu或CentOS。 - 检查服务器是否已开启防火墙,如有需要,允许TCP端口2375(Docker守护进程)、80和443(用于访问Docker API)。 2. **更新系统**: ``` sudo apt-get update sudo apt-get upgrade ``` 3. **安装依赖**: 对于Ubuntu,使用apt安装依赖包: ``` sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release ``` 4. **添加Docker GPG key**: ``` curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` 5. **设置Docker仓库**: ``` echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 6. **更新apt源**: ``` sudo apt-get update ``` 7. **安装Docker**: ``` sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 8. **启动和启用Docker服务**: ``` sudo systemctl start docker sudo systemctl enable docker ``` 9. **验证安装**: 可以通过运行`docker run hello-world`来测试Docker是否安装成功,并查看镜像和容器信息。 至于安装MySQL,可以在Docker内构建一个MySQL容器: ``` sudo docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=mysecretpassword -p 3306:3306 -v /path/to/data/mysql:/var/lib/mysql -d mysql:latest ``` 这将创建一个名为`mysql-container`的容器,连接到本地主机的3306端口,并将数据存储在指定路径。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@素素~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值