IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux下普通用户安装MySQL--非root用户安装MySQL -> 正文阅读

[系统运维]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)其他

  • 待大家常见问题补充!
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-05 12:23:43  更:2021-12-05 12:24:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:36:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码