linux centos7虚拟机安装mysql5.7详细教程(tar包安装)

2023-05-16

 目前网络上大多数的安装教程采用的是rpm的方式,此种方式是需要虚拟机联网完成的,我介绍的是使用tar包的方式安装mysql5.7的方法。

  

1. 官网下载压缩包

链接: https://dev.mysql.com/downloads/mysql/
选择linux通用64位,5.7.X

开始安装
1. 卸载系统自带的Mariadb
[root@ ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64  #显示这个就意味着有mariadb你是需要卸载的。
[root@ ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

 
2.卸载etc目录下的my.cnf文件
这个文件就是mysql的配置文件,就好比Windows下的my.ini文件。

[root@ ~]# rm /etc/my.cnf   
rm: cannot remove ?etc/my.cnf? No such file or directory  #这个提示就是没有此文件,我们就可以进行接下来的操作了

 
3.检查mysql是否存在
[root@ ~]# rpm -qa | grep mysql   #没有内容就代表着没有安装
1
如果你已经安装了mysql,那就需要卸载后再考虑安装。

4. 检查mysql组和用户是否存在,如无创建
[root@ ~]# cat /etc/group | grep mysql
[root@ ~]# cat /etc/passwd | grep mysql
1
2
如果两条命令输入后没有反馈就代表不存在,就需要新建

5.创建mysql用户组
[root@ ~]# groupadd mysql
1
6.创建mysql用户,并加入mysql用户组
[root@ ~]# useradd -g mysql mysql
1
7.设置mysql用户的密码
要注意这里设置的是mysql这个用户的密码,和一会数据库的密码不是一回事。

[root@ ~]# passwd mysql
1
8.解压安装
⚠️这里开始就算比较重要且容易出错误的地方了。

上面不是把 mysql-5.7.46-2.7-x86_64.tar.gz 这个压缩包放到 了/usr/local/的里面了,(注意是在local里面,不是local同一级)

我们就在local文件夹下这里进行解压安装。

root@ local]# tar -zxvf mysql-5.7.46-2.7-x86_64.tar.gz   #这一步就是解压安装文件
[root@ local]# mv mysql-install/ mysql57  # 这步是把解压后的文件进行一个改名的操作

#更改所属的组和用户
[root@ local]# chown -R mysql mysql57/
[root@ local]# chgrp -R mysql mysql57/
[root@ local]# cd mysql57/

[root@ mysql57]# mkdir data  #创建一个data文件夹存放数据

[root@ mysql57]# chown -R mysql:mysql data

 
9.在etc下新建配置文件my.cnf
我们在第二步的时候不是删除了配置文件,此时这里我们需要重新配置一个。

touch my.cnf
1
先新建my.cnf这个文件,然后vi进去修改内容,具体内容如下:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql57
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql57/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
#配置免密登录------------------------------
skip-grant-tables

[mysqld_safe]
# 配置日志文件和进程文件
error-log=/usr/local/error.log
pid-file=/usr/local/mysql.pid

 
这个配置文件,很多都是与mysql的安装路径有关的,所以你如果和我的不统一,就需要做相应的修改。

10.安装与初始化
❗️要注意这些命令是在mysql57这个目录下执行的,这点尤为重要

[root@ mysql57]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql57/ --datadir=/usr/local/mysql57/data/
[root@ mysql57]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@ mysql57]# chown 777 /etc/my.cnf 
[root@ mysql57]# chmod +x /etc/init.d/mysqld

1
2
3
4
5
11.重启
[root@ mysql57]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

1
2
3
4
12.设置开机启动
[root@ mysql57]# chkconfig --level 35 mysqld on
[root@ mysql57]# chkconfig --list mysqld
[root@ mysql57]# chmod +x /etc/rc.d/init.d/mysqld
[root@ mysql57]# chkconfig --add mysqld
[root@ mysql57]# chkconfig --list mysqld
[root@ mysql57]# service mysqld status
SUCCESS! MySQL running (4475)

1
 
13.设置环境变量
在/etc/profile这个文件中,要加一句话

export PATH=$PATH:/var/mysql57/bin
1
[root@ mysql57]# source /etc/profile   #重启
1
14.获得初始密码
这个密码就是数据库的密码,其实我们在my.cnf里是设置了一个免密登录的,所以这个显得并不是特别必要要知道的。

[root@ ~]# cat /root/.mysql_secret 
# Password set for user 'root@localhost' at 2022-08-19 16:47:12 
7qa2CT1sYO_1
1
2
3
15. 修改密码
这里我当时一直会报一个mysql命令找不到的错误,后来发现是没有在/usr/local/mysql57/bin下面执行mysql命令,所以导致这一问题解决不了。(后面配置软链接就可以在任何目录下都可以执行mysql命令了)

[root@hdp265dnsnfs bin]# mysql -uroot -p
mysql> set PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

 
16. 添加远程访问权限
这接下来的操作就是为了本地Navicat能够远程连接Linux虚拟机上的准备。

在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit
 
上面那句命令里的youpassword就是一会Navicatroot用户的密码,你最好设置成和你数据库一样的密码,不然密码太多可就混乱了。


这命令我们可以看出来,root这个用户,是允许任何用户(%)登录的。

17.重启生效
/bin/systemctl restart  mysql.service

[root@ bin]# /etc/init.d/mysqld restart 
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
1
2
3
4
5
18.可以在任何目录下登录mysql
ln -s /usr/local/mysql57/bin/mysql   /usr/bin/mysql
1
19. 开放外部访问数据库
开放防火墙端口
firewall -cmd --list-all
1
开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
1
查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
1
次查看现在防火墙
firewall-cmd --list-all
1
20. Navicat连接


✔️到这里mysql的安装过程就结束了。
 
 
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux centos7虚拟机安装mysql5.7详细教程(tar包安装) 的相关文章

  • 如何从 C 程序中获取 NIC 详细信息?

    我想要获取连接到我的计算机的所有 NIC 的以下详细信息 1 接口名称 例如eth0 2 接口编号 如Windows http answers yahoo com question index qid 20080517041705AAOmJ
  • 在 Ubuntu 中找不到 X11/Xlib.h

    我试图在 Linux 上使用 open gl 编写一个相当简单的程序 但在编译时它说 编译拇指 egl 我对 GL 完全陌生 不知道出了什么问题 快速搜索使用 apt search Xlib h 打开 libx11 dev 包 但纯 Ope
  • Linux中使用管道进行进程间通信

    我已经编写了在 linux 中写入数字以进行管道传输的代码 如下所示 但显示错误 任何人都可以帮助我解决这个问题 基本上该程序的问题陈述如下 一个程序将打开一个管道 向管道写入一个数字 其他程序将打开同一管道 读取数字并打印它们 关闭两个管
  • C:如果文件描述符被删除,阻塞读取应该返回

    我正在以阻塞的方式从设备 文件描述符中读取 可能会发生这样的情况 在不同的线程中 设备被关闭并且文件描述符被删除 不幸的是 读取没有返回或注意到并且一直阻塞 作为一种解决方法 我可以使用 select 作为超时来执行 while 循环 如果
  • X11 模式对话框

    如何使用 Xlib 在 X11 中创建模式对话框 模态对话框是一个位于应用程序其他窗口之上的窗口 就像瞬态窗口一样 并且拒绝将焦点给予应用程序的其他窗口 在 Windows 中 当试图从模态窗口夺取焦点时 模态也会通过闪 烁模态窗口的标题栏
  • 如何将后台作业的输出分配给 bash 变量?

    我想在 bash 中运行后台作业并将其结果分配给一个变量 我不喜欢使用临时文件 并且希望同时运行多个类似的后台任务 root root var echo hello world root root echo var hello world
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • 如何重命名 .tar.gz 文件而不提取内容并在 UBUNTU 中创建新的 .tar.gz 文件?

    我有一个命令将创建一个新的 tar gz现有文件中的文件 sudo tar zcvf Existing tar gz New tar gz 该命令将创建一个新的New tar gz从现有的文件Existing tar gz file 谁能告
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • ubuntu 的 CSS 更少(并且自动编译)? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我尝试过 simples 但现在 l
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • Python将文件从Linux复制到WIndows

    我正在构建一个网站 该网站有一个表单 可以捕获用户数据并在用户数据上运行一些cgi cgi 的第一步是需要将文件从 Linux Web 服务器复制到 Windows 计算机 服务器将使用 Active Directory 角色帐户作为复制凭
  • 为什么docker容器提示“权限被拒绝”?

    我使用以下命令来运行 docker 容器 并从主机映射目录 root database 到容器 tmp install database docker run it name oracle install v root database t
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8
  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • 用于时间线数据的类似 gnuplot 的程序

    我正在寻找一个类似 gnuplot用于在时间轴中绘制数据图表的程序 类似 gnuplot 在 Linux 上运行 命令行功能 GUI 对我帮助不大 可编写脚本的语法 输出为 jpg png svg 或 gif 输出应该是这样的 set5 s
  • 如何使用 go1.6.2 构建 linux 32 位

    有没有任何组合GOARCH and GOOS我可以设置哪些值来构建 ELF 32 位二进制文 件 GOOS linux and GOARCH 386 更多示例 架构 32 bit gt GOARCH 386 64 bit gt GOARCH
  • 在嵌入式系统上将内核控制台发送到哪里?

    我正在开发一个嵌入式系统 该系统当前通过串行端口 1 上的控制台输出启动 Linux 使用启动加载程序中的控制台启动参数 然而 最终我们将使用这个串行端口 内核控制台输出的最佳解决方案是什么 dev null 能否以某种方式将其放在 pty
  • 如何在 Plesk Obsidian 上为 Node.js 管理器添加新的 NodeJS 版本?

    Since Plesk 黑曜石 v18 x 它不像以下程序那样工作这个答案 Plesk Onyx https stackoverflow com a 46846077 10824494现在我无法添加新版本的 NodeJS plesk sbi
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误

随机推荐

  • 利用HTML5画布绘制精美动态效果-极客标签-专题视频课程

    利用HTML5画布绘制精美动态效果 11225人已学习 课程介绍 本课程是极客标签精心策划并制作的 xff0c HTML5画布即canvas标签的实例教程 本课程将利用5个不同的实例 xff0c 逐步讲解canvas标签在实际开发中的应用场
  • jvm调优

    Jvm调优 java代码是怎么运行起来的 类加载到使用的过程 加载 xff1a 用这个类的时候开始加载 类在使用的时候触发类加载器 xff0c 把类加载到jvm中 2 1验证阶段 类加载之前先进行验证是否符合JVM规范后交给JVM 比如fi
  • python pip安装啥都失败,带国内源也失败

    在学校机房 xff0c 网络是有限制的 xff0c 也有一些环境的限制 xff0c 今天碰到一个问题 xff0c pip安装啥都不成功 xff0c 网络是一问题 xff0c 是不是有其他问题我不知道 xff0c 随手找了一些解决方案 xff
  • openstack 安装常见配置和错误处理

    转载自 xff1a http blog csdn net xinxing 8185 article details 51753031 问题一 xff1a 重启机器出现组件没法互通 OpenStack Failed to connect to
  • GCC 常见错误解析

    转自 xff1a http wenku baidu com view 01f99435f111f18583d05a47 html 1 GCC 常见错误解析 一 错误类型 第一类 C 语法错误 错误信息 文件source c 中第n 行有语法
  • Sublime3 安装激活教程

    Sublime3 安装激活教程 1 下载安装 官网 xff1a http www sublimetext com 2 在hosts文件末尾添加内容 xff1a 127 0 0 1 license sublimehq com 127 0 0
  • maven打包的jar包无法在linux中运行

    问题描述 xff1a 使用mvn 打包的jar包无法在linux中运行 解决方法 xff1a 在idea中使用右侧的Maven菜单栏选择对应的模块然后打开Lifecycle先点击compile 再点击package进行打包 此种方法打包的j
  • [数学]三角函数与双曲函数及其导数和不定积分

    三角函数与双曲函数及其导数和不定积分 定义 sin x
  • [C++] std::ranges中的特征和自定义std::ranges::view变换

    文章目录 1 std ranges中的特征1 1 std ranges range例子细化 1 2 std ranges sized range1 3 std ranges borrowed range1 4 std ranges view
  • STM32F103 舵机控制控制程序PWM配置

    上一篇博文我讲了如何按自己想的配置PWM定时器 下来发现会不会有同学根本不想用重映像 xff0c 原本的引脚就可以 xff0c xff1a xff09 xff0c 所以在开始这篇之前 xff0c 先把TIM2定时器的设置程序发一下 xff1
  • 在win10系统中安装Linux系统

    文章目录 镜像的安装准备工作镜像的下载网址 xff1a 镜像的写入工具工具的下载 等待写入完成 xff0c 插入U盘进行linux系统的安装安装过程 镜像的安装 准备工作 1 需要一个U盘 xff0c 用来存放镜像 xff0c 不用太大 2
  • Linux系统之使用yum安装Redis数据库

    Linux系统之使用yum安装Redis数据库 一 redis介绍1 redis解释2 redis特点3 redis使用场景 二 检查系统版本1 检查系统版本2 检查内核版本 三 检查yum仓库状态四 查看系统默认提供的redis版本五 安
  • Linux系统之MobaXterm远程连接centos的GNOME桌面环境

    Linux系统之MobaXterm远程连接centos的GNOME桌面环境 一 MobaXterm介绍1 MobaXterm简介2 MobaXterm功能特点 二 centos安装GNOME桌面1 本地环境介绍2 安装GNOME桌面环境3
  • mysql配置secure_file_priv

    1 secure file priv 配置项控制LOAD DATA SELECT OUTFILE LOAD FILE 的使用权限 secure file priv 设置值为 NULL 时 xff0c 表示限制mysqld不允许导入或导出 s
  • Linux远程连接图形界面的几种方法

    1 xff0c 利用Xmanager xff0c linux启用XDMCP协议 xff08 可直接修改配置文件 xff0c 也可以采用在Xshell中运行gdmconfig或gdmsetup xff0c 选择XDMCP选项卡 xff0c 勾
  • WSL(Ubuntu)简单配置

    WSL安装后 xff0c 国内环境不能很好的支持其运行 xff0c 故需要进行简单配置 以Ubuntu 20 04 5 LTS为例 1 WSL迁移 以管理员身份运行PowerShell 查看WSL是否为关闭状态 wsl l v 导出WSL
  • Liunx文件系统基本目录介绍大全

    Liunx文件系统基本目录介绍大全 根文件系统 通常情况下 xff0c 根文件系统所占空间一般应该比较小 xff0c 因为其中的绝大部分文件都不需要 经常改动 xff0c 而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏 除了可能
  • 联想笔记本win10相机打开显示灰色画斜杠相机 无法进行人脸识别 怎么办

    首先我的电脑是联想小新PRO16 2021 由于今天要参加一场笔试 xff0c 我的摄像头打开就是灰色画斜杠的相机 所以再网上找各种方法调试摄像头花了三个小时 xff0c 还好最后成功解决 下面是我的解决方法 xff1a 通过联想电脑管家
  • C++简单实现十进制和二进制、八进制、十六进制之间的转换

    十进制到二进制 八进制 十六进制的转换 十进制到二进制 八进制 十六进制的转换二进制 八进制 十六进制到十进制的转换 十进制到二进制 八进制 十六进制的转换 span class token preprocessor property in
  • linux centos7虚拟机安装mysql5.7详细教程(tar包安装)

    目前网络上大多数的安装教程采用的是rpm的方式 xff0c 此种方式是需要虚拟机联网完成的 xff0c 我介绍的是使用tar包的方式安装mysql5 7的方法 1 官网下载压缩包 链接 xff1a https dev mysql com d