Linux下安装MySQL

1.MySQL简介

网上有很多,您简单看看即可。

2.MySQL安装

由于我的MySQL主要是用在Linux的,所以这里只简单介绍一下云服务器下使用XShell操作CentOS 7MySQL安装。

2.1.切换用户

一般涉及到启动系统服务的操作都需要使用root权限,因此您最好提前切换到root账户。

2.2.检查环境

使用ps ajx | grep mysql或mariadb检查是否存在mysql或mariadb(会显示一串目录),有就无需看后续的安装了。

但是如果您想体验一下下载MySQL的流程,请使用systemctl stop mysql或mariadb.service指令停止mysql或mariadb服务。然后使用rpm -qa | grep mysql检查mysql或mariadb的安装包,使用rpm -qa | grep mysql或mariadb | xargs yum remove卸载这些关于mysql的安装包,此时您的系统就卸载了MySQL或mariadb了。

补充:MariaDB是一个开源的关系型数据库管理系统(RDBMS),它是MySQL的一个分支,由MySQL的创始人之一Michael Widenius(又称Monty)创建。MariaDB基于MySQL的代码,并且在GPL许可证下发布,使得它可以免费使用和分发。 MariaDB旨在提供高性能、可扩展性、稳定性和安全性。

MariaDBMySQL拥有类似的命令和语法,而且它们非常相似,但是MariaDB包含了一些新的功能,例如更好的性能、更好的安全性、更好的可扩展性和更丰富的功能。MariaDB中还包含一些MySQL没有的特性,例如虚拟列、动态列、回收站等功能。此外,MariaDB也支持多个存储引擎,例如InnoDBMyISAMXtraDB等。

MariaDB还提供了与MySQL兼容的API和命令行工具,使得用户可以很容易地将其现有的MySQL数据库迁移到MariaDB上。对于使用MySQL的应用程序或网站,转换到MariaDB也非常简单。

2.3.更新yum源

MySQL官方链接上查找适合自己的MySQL yum源版本(否则有可能出现兼容问题)。

[FILE] mysql80-community-release-el7-..> 18-Apr-2018 05:24    25k  
[FILE] mysql80-community-release-el7-..> 23-Aug-2023 17:38    11k  
[FILE] mysql80-community-release-el7-..> 18-Jan-2019 06:02    25k  
[FILE] mysql80-community-release-el7-..> 24-Apr-2019 18:29    25k  
[FILE] mysql80-community-release-el7-..> 04-Nov-2021 10:25     7k  
[FILE] mysql80-community-release-el7-..> 14-Jan-2022 10:21    11k  
[FILE] mysql80-community-release-el7-..> 24-Apr-2022 13:02    11k  
[FILE] mysql80-community-release-el7-..> 26-Aug-2022 18:56    11k  
[FILE] mysql80-community-release-el7-..> 25-Jul-2023 18:43    11k  
[FILE] mysql80-community-release-el7-..> 25-Jul-2023 18:41    11k  
[FILE] mysql80-community-release-el7.rpm 23-Aug-2023 17:38    11k  

或者右键该网页界面,然后“查看网页源代码”,可以显示较多的信息

<IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el5-7.noarch.rpm">mysql57-community-release-el5-..&gt;</A> 12-Nov-2015 07:58     8k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el5-8.noarch.rpm">mysql57-community-release-el5-..&gt;</A> 07-Apr-2017 07:28    24k<IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el5.rpm">mysql57-community-release-el5.rpm</A> 07-Apr-2017 07:28    24k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-10.noarch.rpm">mysql57-community-release-el6-..&gt;</A> 07-Apr-2017 07:28    25k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-11.noarch.rpm">mysql57-community-release-el6-..&gt;</A> 27-Apr-2017 10:45    25k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-7.noarch.rpm">mysql57-community-release-el6-..&gt;</A> 12-Nov-2015 07:58     9k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-8.noarch.rpm">mysql57-community-release-el6-..&gt;</A> 11-Apr-2016 09:13     9k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-9.noarch.rpm">mysql57-community-release-el6-..&gt;</A> 12-Sep-2016 13:05     9k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6.rpm">mysql57-community-release-el6.rpm</A> 27-Apr-2017 10:45    25k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-10.noarch.rpm">mysql57-community-release-el7-..&gt;</A> 07-Apr-2017 07:28    25k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-11.noarch.rpm">mysql57-community-release-el7-..&gt;</A> 27-Apr-2017 10:45    25k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-7.noarch.rpm">mysql57-community-release-el7-..&gt;</A> 12-Nov-2015 07:58     9k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-8.noarch.rpm">mysql57-community-release-el7-..&gt;</A> 11-Apr-2016 09:13     9k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-9.noarch.rpm">mysql57-community-release-el7-..&gt;</A> 12-Sep-2016 13:05     9k  <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7.rpm">mysql57-community-release-el7.rpm</A> 27-Apr-2017 10:45    25k 

这里我根据我的系统版本选择了mysql57-community-release-el7-9.noarch.rpm(点击即可下载),这里的57MySQL yum源的版本(这个版本用的人较多),elCentOS,而7-9就是指CentOS 7-9版本(如果您使用的是CentOS 7系统但是没有找到对应的版本,就下载mysql57-community-release-el7.rpm即可)。然后得到一个MySQL.rpm后缀的文件。

[root@VM-8-9-centos ljp]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

新建一个MySQL目录,如果您之前下载的安装包在Windows下,就使用rz指令将其上传到XShell下的CentOS 7系统内刚刚新建的MySQL目录里。

# mkdir MySQL
# cd MySQL
# rz# ls
mysql57-community-release-el7-9.noarch.rpm

接下来使用rpm -ivh mysql57-community-release-el7-9.noarch.rpm 更新yum源(可以使用ls /etc/yum.repos.d/ -l来查看前后是否有变化)。

# ls /etc/yum.repos.d/ -l
total 52
-rw-r--r-- 1 root root  614 Jul 15 18:28 CentOS-Base.repo
-rw-r--r-- 1 root root 1309 Nov 23  2020 CentOS-CR.repo
-rw-r--r-- 1 root root  649 Nov 23  2020 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root  230 Jul 15 18:28 CentOS-Epel.repo
-rw-r--r-- 1 root root  314 Nov 23  2020 CentOS-fasttrack.repo
-rw-r--r-- 1 root root  630 Nov 23  2020 CentOS-Media.repo
-rw-r--r-- 1 root root 1331 Nov 23  2020 CentOS-Sources.repo
-rw-r--r-- 1 root root 8515 Nov 23  2020 CentOS-Vault.repo
-rw-r--r-- 1 root root  616 Nov 23  2020 CentOS-x86_64-kernel.repo
-rw-r--r-- 1 root root 1358 Sep  5  2021 epel.repo
-rw-r--r-- 1 root root 1457 Sep  5  2021 epel-testing.repo# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
warning: mysql57-community-release-el7-9.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:mysql57-community-release-el7-9  ################################# [100%]# ls /etc/yum.repos.d/ -l
total 60
-rw-r--r-- 1 root root  614 Jul 15 18:28 CentOS-Base.repo
-rw-r--r-- 1 root root 1309 Nov 23  2020 CentOS-CR.repo
-rw-r--r-- 1 root root  649 Nov 23  2020 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root  230 Jul 15 18:28 CentOS-Epel.repo
-rw-r--r-- 1 root root  314 Nov 23  2020 CentOS-fasttrack.repo
-rw-r--r-- 1 root root  630 Nov 23  2020 CentOS-Media.repo
-rw-r--r-- 1 root root 1331 Nov 23  2020 CentOS-Sources.repo
-rw-r--r-- 1 root root 8515 Nov 23  2020 CentOS-Vault.repo
-rw-r--r-- 1 root root  616 Nov 23  2020 CentOS-x86_64-kernel.repo
-rw-r--r-- 1 root root 1358 Sep  5  2021 epel.repo
-rw-r--r-- 1 root root 1457 Sep  5  2021 epel-testing.repo
-rw-r--r-- 1 root root 1416 Sep 12  2016 mysql-community.repo #支持直接安装MySQL
-rw-r--r-- 1 root root 1440 Sep 12  2016 mysql-community-source.repo #支持安装相关的资源

使用yum list | grep mysql检查是否已经更新,如果弹出很多的MySQL相关资源文件,那就更新yum源成功,而之前下载的mysql57-community-release-el7-9.noarch.rpm就可以删除了(当然也可以选择不删除,主要是留着也没太多用处)。

2.4.安装MySQL

使用yum install -y mysql-community-server一键安装MySQL即可。

2.5.安装问题

如果出现以下问题:

 Failing package is: mysql-community-common-5.7.43-1.el7.x86_64GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

那就是密钥过期的问题,可以使用下面命令来更新密钥:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

然后重新使用yum install -y mysql-community-server即可。

2.6.检查安装

etc下会多一个my.cnf文件,且使用which mysql mysqld可以打印出结果。

# which mysql mysqld
/usr/bin/mysql #这个是MySQL的客户端
/usr/sbin/mysqld #这个是MySQL的服务端

3.MySQL启动

使用systemctl start mysqld启动MySQL的服务端,使用ps可以查看是否启动成功:

# systemctl start mysqld
# ps ajx | grep mysqld1  8880  8879  8879 ?           -1 Sl      27   0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
10652  9013  9012  5510 pts/0     9012 S+       0   0:00 grep --color=auto mysqld

此时可以使用netstat -nltp来查看端口号(后面会讲)

4.MySQL登录

4.1.登录方法一

使用sudo grep 'temporary password' /var/log/mysqld.log获取临时root密码,较老的版本可以使用,新版本可能不行。然后使用mysql -u root -p输入临时密码即可,注意输入密码的时候不会回显。

4.2.登录方法二

直接使用mysql -u root -p登录。

4.3.登录方法三

使用vim /etc/my.cnf打开MySQL的配置文件,然后在文件的最后添加上skip-grant-tables选项,保存退出(该做法就是设置为“跳过密码验证”)。

使用systemctl restart mysqld重启MySQL服务,然后使用mysql -u root -p即可直接登录MySQL(可能还会显示输入密码,但是这次直接回车就可以)。

# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.43Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

5.MySQL配置

5.1.配置编码问题

打开/etc/my.cnf修改内容如下:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M# ---My configuration_1---
# port=3306 # 可以不改,改了端口可能会出现一些问题,先使用默认的即可
# ------------------------datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid# ---My configuration_2---
character-set-server=utf8
default-storage-engine=innodb
# ------------------------

然后使用systemctl restart mysqld重启MySQL服务即可。

5.2.配置开机启动

使用systemctl enable mysqldsystemctl daemon-reload即可。但是有一说一,云服务器一般不需要关机,几乎用不到这个功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146307.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

好题分享

1.Problem - G - Codeforces &#xff08;1&#xff09;题意 &#xff08;2&#xff09;思路 因为最多13次&#xff0c;那么不如我们就问13次&#xff0c;然后考虑把每一个位置重新按二进制拆分成一个下标&#xff0c;因为C(13,6) > 1000,因此在数量上是满足得&#xff0c;我…

编程每日一练(多语言实现)基础篇:满足abcd=(ab+cd)^2的数 (增加Go语言实现)

文章目录 一、实例描述二、技术要点三、代码实现3.1 C 语言实现3.2 Python 语言实现3.3 Java 语言实现3.4 JavaScript 语言实现3.5 Go 语言实现 一、实例描述 假设 abcd 是一个四位整数&#xff0c;将它分成两段&#xff0c;即 ab 和 cd&#xff0c;使之相加求和后再平方。求满…

LeetCode 热题 HOT 100:回溯专题

LeetCode 热题 HOT 100&#xff1a;https://leetcode.cn/problem-list/2cktkvj/ 文章目录 17. 电话号码的字母组合22. 括号生成39. 组合总和46. 全排列补充&#xff1a;47. 全排列 II &#xff08;待优化)78. 子集79. 单词搜索124. 二叉树中的最大路径和200. 岛屿数量437. 路径…

【C++】C++的类型转换

文章目录 1. C语言中的类型转换2. C中的类型转换2.1 static_cast2.2 reinterpret_cast2.3 const_cast2.4 dynamic 1. C语言中的类型转换 在C语言中&#xff0c;经常会出现一种情况&#xff1a;运算符两边的类型不同&#xff0c;或者形参实参类型不匹配&#xff0c;此时就会发生…

工信部:杭州亚运会开幕式首创 5G 超密组网方案,场馆网络无缝覆盖

“工信 V 报”今日发布消息称&#xff0c;工信部经过精心统筹、周密部署&#xff0c;举全系统之力圆满完成了杭州亚运会开幕式各项保障任务。 据介绍&#xff0c;亚运会的指挥调度、安全保卫、通信网络、计时记分、电视转播等系统顺畅运行&#xff0c;对无线电安全、信息通信服…

MATLAB与Python:优势与挑战

本文旨在探讨MATLAB与Python在特定领域内的使用情况&#xff0c;并分析两者之间的优势和挑战。 MATLAB和Python都是流行的编程语言&#xff0c;广泛应用于科学计算、数据分析和机器学习等领域。在某些领域&#xff0c;如航空航天工程、自动化和电子工程嵌入式系统开发等&#…

福建江夏学院蔡慧梅主任一行莅临拓世科技集团,共探AI+时代教育新未来

在科技的海洋中&#xff0c;产业是那航行的巨轮&#xff0c;而教育则是指引方向的灯塔。当巨轮与灯塔相互辉映&#xff0c;产教融合与校企合作便成为了推动国家科技创新和人才培养的金钥匙&#xff0c;为未来开启一扇扇充满希望的大门。 2023年9月24日&#xff0c;福建江夏学院…

Nginx简介与Docker Compose部署指南

Nginx是一款高性能的开源Web服务器和反向代理服务器&#xff0c;以其卓越的性能、可伸缩性和灵活性而闻名。它在全球范围内广泛用于托管Web应用程序、负载均衡、反向代理和更多场景中。在本文中&#xff0c;我们将首先介绍Nginx的基本概念&#xff0c;然后演示如何使用Docker C…

Go结构体深度探索:从基础到应用

在Go语言中&#xff0c;结构体是核心的数据组织工具&#xff0c;提供了灵活的手段来处理复杂数据。本文深入探讨了结构体的定义、类型、字面量表示和使用方法&#xff0c;旨在为读者呈现Go结构体的全面视角。通过结构体&#xff0c;开发者可以实现更加模块化、高效的代码设计。…

doT.js模板学习笔记

doT.js模板学习笔记 欢迎学习doT.js模板学习笔记doT.js模板是什么doT.js 主要优势在doT.js好处引入方式基本语法语法示例结尾 欢迎学习doT.js模板学习笔记 doT.js官方网站 本文章得示例源码 doT.js模板是什么 doT.js 是一个 JavaScript 模板框架&#xff0c;在 web 前端使用 d…

软件测试面试复盘

作者&#xff1a;爱塔居 专栏&#xff1a;测试 1、计算机网络七层协议&#xff1a;物理层、数据链路层、网络层、传输层、表示层、会话层、应用层&#xff08;面试问过这个&#xff09; 2.TCP/IP四层模型&#xff1a;应用层、传输层、网络层、网络接口层&#xff08;笔试问过&…

vscode左键无法跳转到定义的文件

之前用vscode的时候&#xff0c;明明是可以ctrl键鼠标左键跳转到定义文件的&#xff0c;突然之间就不行了&#xff0c;鼠标移到引入上根本都没有下划线&#xff0c;无法跳转 解决方法&#xff1a; 项目的根目录新建 jsconfig.json 文件&#xff0c;代码如下 {"compiler…

使用sqlmap总是提示需要302跳转重新登录的解决方法

如果在命令中不指定cookie&#xff0c;sqlmap在执行时会提示需要重新登录 如果给了cookie但发现还是提示需要重新登录&#xff0c;且按它给的提示发现还是找不到注入点&#xff0c;原因是url没有加引号 url加了双引号后解决问题

Jenkins集成AppScan实现

一、Jenkins上安装插件 在Jenkins里安装以下插件 ibm-security-appscanstandard-scanner 二、打开AppScan 1、配置需要扫描的地址 配置需要扫描的地址 2、记录好要扫描的URL登录序列 记录好要扫描的URL登录序列 3、导出要扫描的URL登录序列设置 导出要扫描的URL登录序列设置 三…

【Java 进阶篇】JDBC Statement:执行 SQL 语句的重要接口

在Java应用程序中&#xff0c;与数据库进行交互是一项常见的任务。为了执行数据库操作&#xff0c;我们需要使用JDBC&#xff08;Java Database Connectivity&#xff09;来建立与数据库的连接并执行SQL语句。Statement接口是JDBC中的一个重要接口&#xff0c;它用于执行SQL语句…

【算法速查】一篇文章带你快速入门八大排序(上)

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;首先在这里祝大家中秋国庆双节同乐&#xff01;&#xff01;今天用一篇文章为大家把八大排序算法都过一遍&#xff0c;当然由于篇幅的原因不是每…

AI智能问答系统源码/AI绘画商业系统/支持GPT联网提问/支持Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的AI智能问答系统和AI绘画系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图…

opencv for unity package在unity中打开相机不需要dll

下载OpenCV for Unity 导入后&#xff0c;里面有很多案例 直接打开就可以运行 打开相机

CSP-J第二轮试题-2021年-1.2题

文章目录 参考&#xff1a;总结 [CSP-J 2021] 分糖果题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示答案1答案2-优化 [CSP-J 2021] 插入排序题目描述输入格式输出格式样例 #1样例输入 #1样…

为什么字节大量用GO而不是Java?

见字如面&#xff0c;我是军哥。 我看很多程序员对字节编程语言选型很好奇&#xff0c;为此我还特地问了在字节的两位4-1的技术大佬朋友&#xff0c;然后加上自己的思考&#xff0c;总结了一下就以下 2 个原因&#xff1a; 1、 选型上没有历史包袱 字节的早期的程序员大多来自于…