Linux中安装MySQL

ops/2025/3/17 11:08:28/

检查是否有MySQL服务并卸载

检查并卸载

在安装MySQL数据库之前,我们需要先检查一下当前Linux系统中,是否安装的有MySQL的相关服务(很多linux安装完毕之后,自带了低版本的mysql的依赖包),如果有,先需要卸载掉,然后再进行安装。

A. 通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

rpm -qa                         查询当前系统中安装的所有软件
rpm -qa | grep mysql            查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb          查询当前系统中安装的名称带mariadb的软件

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。

通过查询发现我的contos系统中是没有的。

如果你们的系统中发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。

B. 通过 rpm 相关指令,来卸载对应的组件,执行指令如下:

在rpm中,卸载软件的语法为:

rpm -e --nodeps  软件名称

那么,我们就可以通过指令,卸载 mariadb,具体指令为:

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。

安装MySQL

上传MySQL安装包

我把我的MySQL压缩包放到了 /usr/local/app_local 目录中了

解压到当前目录

tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

解压后的文件夹移动到 /usr/local 目录下, 并改名为 mysql

mv mysql-8.0.30-linux-glibc2.12-x86_64 /usr/local/mysqlcd /usr/local/mysql

移动

进入到MySQL安装目录

配置系统环境变量

export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH

重启配置
source /etc/profile

执行如下指令, 注册MySQL为系统服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql

初始化数据库

#创建一个用户组, 组名就叫mysql
groupadd mysql
#创建一个系统用户 mysql, 并归属于用户组 mysql , 
useradd -r -g mysql -s /bin/false mysql

创建用户组

创建系统用户

#初始化mysql
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

如果在初始化mysql的时候,出现报错的情况也不用慌。我右解决教程

执行下面命令

yum -y install libaio

libaio包的作用是为了支持同步I/O。对于数据库之类的系统特别重要,因此在linux上安装数据库软件,就需要安装libaio

安装完 libaio之后,在次进行mysql的初始化。

执行上述指令时, 会输入如下日志,在日志中就输出了MySQL中root用户的一个临时密码【记得复制出来,记录下来】:

启动MySQL

启动MySQL服务

systemctl start mysql

通过命令, 登录MySQL

#xxxxx 代表上述生成的root的临时密码
mysql -uroot -pxxxxx

配置MySQL

修改root用户的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

注意: 这个root账号仅仅能够在本机localhost上访问,我们在windows上是无法访问的。如果需要在window上或其他服务器上也能远程访问,需要创建一个账号,用于远程访问的。

D. 创建账号, 并授权远程访问

#创建一个远程连接用户
CREATE USER 'root'@'%' IDENTIFIED BY '1234';#给这个用户授予全部的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';#刷新下配置
FLUSH PRIVILEGES;

查看MySQL的用户和主机

select user,host from mysql.user;

登录测试

我在我window电脑的cmd窗口连接下

mysql -h 123.56.247.70 -uroot -p
密码   #回车

如果要是连接不上在电脑本地,可能是防火墙的问题。

最快速的方法就是关闭防火墙

systemctl stop firewalld
systemctl disable firewalld


http://www.ppmy.cn/ops/166474.html

相关文章

【JavaEE进阶】@Transactional 详解

目录 🍃前言 🌲rollbackFor(异常回滚属性) 🚩rollbackFor属性 🚩noRollbackFor属性 🎄Isolation(事务隔离级别) 🚩MySQL事务的隔离级别 🚩Spring事务隔离级别 🎋Spring事务传…

【差分约束】 P3275 [SCOI2011] 糖果|省选-

本文涉及知识点 差分约束 P3275 [SCOI2011] 糖果 题目描述 幼儿园里有 N N N 个小朋友, lxhgww \text{lxhgww} lxhgww 老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求&…

嵌入式八股C语言---面向对象篇

面向对象与面向过程 面向过程 就是把整个业务逻辑分成多个步骤,每步或每一个功能都可以使用一个函数来实现面向对象 对象是类的实例化,此时一个类就内部有属性和相应的方法 封装 在C语言里实现封装就是实现一个结构体,里面包括的成员变量和函数指针,然后在构造函数中,为结构体…

Redis内存淘汰策略

Redis 是一种高性能的键值存储系统,广泛用于缓存、消息队列等场景。由于 Redis 数据存储在内存中,而内存资源有限,因此需要内存淘汰策略来管理内存的使用。Redis 提供了多种内存淘汰策略,可以根据不同的应用场景选择合适的策略。 …

Maven 的核心包

由于前端项目不是核心,阅读 nexus-public 源代码似乎绕远路了。nexus-oss 社区版主要就是集成 maven 的上传包、认证、包解析、包存储这几个核心功能,前端实现重新可以使用新的现代前端工具来提高生产力。故重新疏理一下 maven 的核心机制,即…

TCP/IP原理详细解析

前言 TCP/IP是一种面向连接,可靠的传输,传输数据大小无限制的。通常情况下,系统与系统之间的http连接需要三次握手和四次挥手,这个执行过程会产生等待时间。这方面在日常开发时需要注意一下。 TCP/IP 是互联网的核心协议族&…

R语言零基础系列教程-03-RStudio界面介绍与关键设置

代码、讲义、软件回复【R语言03】获取。 设置位置: 菜单栏 - Tools - Blobal Options 设置 通用设置 设置面板左侧General选项 版本选择: 一般只用一个版本即可 默认工作目录设置: 你希望RStudio打开时是基于哪个目录进行工作可以不设置, 因为脚本一般都是放置在特定项目路…

蓝桥杯刷题——第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组

一、0握手问题 - 蓝桥云课 算法代码&#xff1a; #include <iostream> using namespace std; int main() {int sum0;for(int i49;i>7;i--)sumi;cout<<sum<<endl;return 0; } 直接暴力&#xff0c;题意很清晰&#xff0c;累加即可。 二、0小球反弹 - 蓝…