Linux安装mysql5.7.26 --(傻瓜版3分钟搞定)

2023-11-05

前言

在这之前的一天时间里,我全网搜mysql 的各种安装方式,还有版本不同带来的问题,会发现在 Mac 或者 在linux上安装5.7 一下版本时,出现的问题会少很多,尤其是 拿着 dmg文件在Mac 安装 就是1分钟的事,但是在linux 安装 5.7时出现了不少的问题,出现的问题各式各样,大家安装时碰到问题了,一定要找你当前版本下的解决方式。严格按照本文步骤可以顺利安装,这也是我连续在 三台linux服务器安装后的精简版。

正文

开始之前我要介绍一下

本次演练安装的mysql 版本是:mysql-5.7.26-linux-glibc2.12-x86_64

我服务器的环境如下:

还有一点,你一定要拿到root权限,要不别玩了。

下面我们正式开始

第一步:下载

 两种方式

一、

进入官网 MySQL :: Download MySQL Community Server

上图显示第一个是二进制源码包,第二个是二进制测试包,第三个是源码包。我们选择第一个
二进制版本的mysql是已经编译好的,无需 configure ,make make install 等步骤,只需配置一下即可使用,卸载也方便,直接删除即可。可以自行调整编译参数,最大化地定制安装结果。

下载之后,通过上传的方式上传到你服务器指定的目录即可

二、  

 在你要放置安装包的目录下执行  

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

第二步:解压并移动

首先说一下,移动不是必须的,但是我后面的配置里有指定文件目录,并且在Mac上安装mysql 默认也会放到 /usr/local ,所有最好按我的来。

解压

tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 

移动

mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/

改名(改名和软连接,二选一)

 mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql-5.7.26

想弄软连接命令 : 

ln -s mysql-5.7.26-linux-glibc2.12-x86_64/  mysql-5.7.26

第三步:创建 用户,并给数据目录赋予权限

创建mysql组和用户

groupadd mysql
useradd -r -g mysql mysql

创建mysq数据目录

回到根目录

cd /
mkdir -p data
cd data/
mkdir -p mysql

赋予权限

chown mysql:mysql -R /data/mysql

第四步:配置参数

执行

 vim /etc/my.cnf

然后 按 i 进入编辑模式,把下面内容复制进去

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql-5.7.26
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0

编辑完后 按esc 后按住 shift+: 输入 wq表示保存并退出 。

第五步:初始化mysql

cd /usr/local/mysql-5.7.26/bin/
 ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.26/ --datadir=/data/mysql/ --user=mysql --initialize

查看初始密码,复制出来

vim /data/mysql/mysql.err

第六步:启动mysql,并更改root 密码

启动

service mysqld start

查看是否启动

ps -ef|grep mysql

更改密码

cd /usr/local/mysql-5.7.26/bin
 mysql -u root -p

提示输入密码,把刚才赋值的密码粘过来。

然后执行修改,并刷新

 SET PASSWORD = PASSWORD('123456');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

flush privileges;

到这里就结束了,如果想关闭mysql 执行 service mysqld stop

注意事项:

如果以上步骤有权限问题,可执行以下命令,还有把开启自起打开

cp ./support-files/mysql.server /etc/init.d/mysqld

chown 777 /etc/my.cnf 

 chmod +x /etc/init.d/mysqld

还有在安装前如果你的系统有Mariadb,就要卸载

第一条命令用来查看,如果有就用下面的命令卸载

rpm -qa|grep mariadb

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

相关问题可以参考:centos7 + mysql5.7 tar包解压安装 - 大大的橙子 - 博客园

另外,如果5.7 安装的时候出现的东西没有解决可能应为你系统在安装前不是干净的,需要卸载残余mysql 文件。

网上的解决方案也许对他来说是可以解决的,有些错误信息相同但是解决方法并不适用你,可能是其他因为影响的,具体情况还需具体分析。

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

Linux安装mysql5.7.26 --(傻瓜版3分钟搞定) 的相关文章

  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 如何修改现有表以添加时区

    我有一个包含 500 多个表的大型应用程序 我必须将应用程序转换为时区感知 当前应用程序使用new java util Date GETDATE 与服务器的时区 即没有任何时区支持 我已将这项任务分为几个步骤 以便于开发 我确定的第一个步骤
  • POINT 列上的 MySQL INSERT/UPDATE

    我正在尝试用我国家的地理位置填充我的数据库 我的一张表有 4 个字段 ID PK 纬度 经度和地理点 EDIT SCDBs Punto Geografico SET lat 18 469692 SET lon 63 93212 SET g
  • 在mysql中的单个查询中更新多个表

    我有三个查询 我想要一个 这是我的查询 UPDATE tab1 SET a WHERE id 3 UPDATE tab2 SET b WHERE id 9 UPDATE tab3 SET c WHERE id 5 您可以尝试下面的代码 UP
  • 如何在mysql中选择具有相同值集的列?

    我的桌子是 patients pid name city disease did dname has disease did pid 我想列出具有相同疾病组的患者 pid 和 did 分别是患者和疾病表中的主键 并且是 has diseas
  • 不允许在 php 中连接到此 MariaDB 服务器

    我尝试在 php 中连接远程服务器数据库 但出现以下错误 Host xx xxx xx xx is not allowed to connect to this MariaDB server in 我的连接代码是这样的 servername
  • Windows 8.1 升级后 Apache 无法工作 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 今天从 Windows 8 升级到 Windows 8 1 后 Apache 不再工作 我上次从 Windows 7 升级到 Window
  • 如何在 MySQL 中求和时间?

    正如您在图片中看到的 我有一份停机报告 显示了所选工厂在选定日期的停机时间 现在我想添加所有的值 Time Duration 列并将其显示在附近的单独显示中 TOTAL TIME DURATION 例如 在图像中 所选日期为 2015 年
  • covertJSONtoSQL 在 NiFi 中返回空值

    我正在设计一项工作 使用以下命令将数据从 MySQL 中的数据库转移到另一个数据库 MySQL 执行SQL处理器随后将Avro转换为Json then 将Json转换为SQL then PutSQL如下流程图所示 将JSON转换为SQL返回
  • MySQL 8 用逗号分割字符串并将其转换为JSON ARRAY

    我有以下字符串 a b c d 我想将它转换成一个 json 数组 像这样 a b c d MySQL 8 有什么函数可以实现这个功能吗 Try SELECT CAST CONCAT REPLACE a b c d AS JSON See
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • mysql转储到derby

    我正在使用 derby 在 eclipse 中进行开发 是否可以从 MySQL 转储表并以某种方式将其用于 derby 我知道 ddl 和 dml 对于两个 dbms 来说是不同的 但我正在寻找一种除了转储 导出之外的合适方法 我可以找到两
  • libmysqlclient.a 和 libmysqlclient_r.a 有什么区别?

    我应该使用哪个来链接 mysqlclient 库 它们之间有什么区别 我似乎找不到答案 谢谢 较新版本的 MySQL 客户端发行版不包含 r 版本 有些可能有从 libmyqslclient r a 到 libmyqslclient a 的
  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

    有很多与此相关的问题 但都具有使用内部联接的相同答案 这 我认为 在这里是不可能的 如果我错了请告诉我 我现在正在做的是调用两个不同的 mysql 查询来获取结果 它工作完美 db gt query SELECT FROM meta WHE
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • 在 android 中建立与 MySQL 的池连接

    我需要从我的 Android 应用程序访问 MySQL 数据库 现在所有的工作都通过 DriverManager getConnection url 等等 但我必须从多个线程访问数据库 所以我必须使用连接池 问题1 是 com mysql
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • MySQL 转储未知选项“-no-beep”

    在旧服务器上我使用了mysql转储命令来备份 MySQL 数据库 在新服务器上 MySQL 版本为 5 6 相同的命令给出了错误 unknown option no beep 无论它插入什么 我也在互联网上搜索过 但找不到任何帮助 在 my

随机推荐

  • 优秀的测试工程师应该具备哪些素质

    人是测试工作中最有价值也是最重要的资源 只有保证测试工程师良好的素质 才能保证测试 产品的质量 然而 在有些公司让那些没有应聘上开发职位的人来做测试 这绝对是错误的 最终会损害企业 为高质高效地完成测试任务 软件测试工程师应具有很好的素质和
  • echarts设置y轴值间隔

    在标签yAxis 中 设置min max splitNumber 例如 min 0 max 1 splitNumber 10 呈现
  • 暴力破解漏洞

    0x01 漏洞描述 暴力破解漏洞 暴力破解的产生是由于服务器端没有做合理的限制 导致攻击者可以通过暴力的手段破解所需信息 如用户名 密码 验证码等 暴力破解的关键在于字典的大小 暴力破解需要一个庞大的字典 如4位数字的验证码 那么暴力破解的
  • MDK软件不能模拟仿真STM32F407的问题解决方法

    以下转载文章有点多 如有侵权请联系我删除哦 https blog csdn net weixin 49093913 article details 125362111 关于Keil MDK 5 仿真STM32F4报错no read perm
  • extjs html 指向网页,extjs-mvc结构实践(二):基本页面

    接着来 上一篇搭建了基本的项目骨架 到最后 其实啥也没看见 书接上回 开始写UI效果 目标 全屏显示 左侧导航菜单 右侧标签页切换操作内容区域 包含header和footer 导航菜单动态ajax产生 点击对应菜单可以动态加载js资源或者数
  • 基于小程序+SpringBoot制作一个音乐播放器

    此文主要实现在小程序内音乐播放功能 使用Java作为后端语言进行支持 界面友好 开发简单 一 小程序 1 1 项目创建 1 2 首页 轮播图 热门歌曲 iconfont图标引入 1 3 热门歌单 歌单首页 歌单详情 歌曲详情 1 4 个人中
  • 一些会导致Bundle安装失败的原因

    Bundle RequiredExecutionEnvironment中的值和可用的执行环境不符 缺少Bundle SymbolicName 重复的导入同一个package 导出或导入java 导出的package中必须的属性未定义 安装一
  • 几种前端h264播放器记录

    近期做了点工作记录一下 主要是将H264流在html5上进行播放 众所周知 大多数的 video组件都是支持FLV或者MP4以及m3u8格式的 而如果是WebRTC是直接集成好了 本次要求的环境主要是通过Websocket方式进行流传输 不
  • pandas 生成excel 和 csv

    import pandas as pd a a b c b 1 2 3 dit char a num b file path r output xlsx writer pd ExcelWriter file path df pd DataF
  • leaflet常用插件库

    1 常用地图切换加载 osm google baidu gaode tianditu etc https github com htoooth Leaflet ChineseTmsProviders 2 切片地图加载 wmts 支持矢量切片
  • 如何获取节点的方法,动态计算节点高度

    监听节点偏移量 onScroll e const scrollTop e detail 根据组件的高度 计算当前的区间在哪个位置 this data scrollIntoview this data activeKey this getAc
  • 冒泡排序和快速排序的分析与比较

    冒泡排序 就是相邻的两个元素相互比较并根据比较结果决定是否交换位置 如从小到大排序 相邻两个元素两两比较 将值更大的元素交换到右侧 如此到最后一个元素 就能确定最大的一个值 一轮排序结束 若某一轮排序交换位置的次数为0 则排序结束 冒泡排序
  • GC0063-51单片机手持可充电VL53L01激光测距离测量报警倒车雷达防撞报警视力保护

    实践制作DIY GC0063 51单片机手持激光测距离测量 一 功能说明 基于51单片机设计 51单片机手持激光测距离测量 二 功能介绍 STC89C52单片机 lcd1602 VL53L01激光测距 锂电池充电电路 18650锂电池 继电
  • 基于时序数据处理的分布式光伏功率预测系统

    摘要 目的 使用高质量的历史数据预测未来光伏发电功率 对高效利用太阳能可再生能源 补充电网供电能力和推进节能减碳具有重要意义 方法 由于光伏时序数据质量参差不齐 本文提出了面向光伏时序数据的缺失值与异常值处理算法 并基于此搭建了分布式光伏功
  • 医学自然语言处理(NLP)相关论文汇总之 EMNLP 2021

    医学自然语言处理 NLP 相关论文汇总之 EMNLP 2021 写在前面 EMNLP2021前段时间已经放榜 一直没时间整理 最近抽时间整理了一下该会议在医疗自然语言处理方向上的相关论文 放在这里 希望对大家有一定的帮助吧 还会继续更新 大
  • Unity3D获得Android和iOS设备的唯一标识

    前言 android为mac地址 ios为advertisingIdentifier 函数都比较简单 网上也搜得到 我也就不多说了 主要是对于我们没做过安卓和IOS开发的人来说 整合进工程有各种的问题 我也就直接上网盘了点击打开链接 代码包
  • 【ant design vue】图片上传(一)

    官网是这样的 action 官网说不管是否使用都不能空着 但是实际上 在我的项目中是没有使用到的 我们是动态上传到后端 然后后端返回一个图片地址给我们显示在前台 代码如下 accept 是限制图片上传类型 customRequest 是自定
  • android edittext 数字正则,一个带有正则匹配的EditText

    先上效果 说明 图中的EditText能够在失去焦点后验证输入框中的文本是否与正则表达式匹配 这里我设置的是5位整数 d 5 当输入110时 不匹配 边框变红并抖动 文本清除 gif中白色文本是因为录制的问题 实际文本已清除 输入12306
  • windows10 powershell窗口输出卡住(看这篇就够了)

    问题原因 cmd窗口开启了快速编辑模式 当点击窗口时运行的进程会被暂停直至点击回车按钮 解决方案 取消勾选快速编辑模式 1 第一步 右键标题栏 选择 属性 第二步 选择 编辑选项 区域 取消 快速编辑模式 的选项 如图所示
  • Linux安装mysql5.7.26 --(傻瓜版3分钟搞定)

    前言 在这之前的一天时间里 我全网搜mysql 的各种安装方式 还有版本不同带来的问题 会发现在 Mac 或者 在linux上安装5 7 一下版本时 出现的问题会少很多 尤其是 拿着 dmg文件在Mac 安装 就是1分钟的事 但是在linu