首页 > 数据库 >Linux上安装MySQL

Linux上安装MySQL

时间:2024-06-01 21:22:42浏览次数:26  
标签:-- rpm Linux 防火墙 mysql MySQL 安装

1). 准备工作

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

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

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

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

image-20231213235536195

通过查询,我们发现在当前系统中存在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

image-20231213235609157

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

 

 

2). 将资料中提供的MySQL安装包上传到Linux并解压

A. 上传MySQL安装包

讲安装包上传到Linux系统的根目录 / 下面。

B. 解压到 当前目录

执行如下指令:

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

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

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

cd /usr/local/mysql

3). 配置系统环境变量

配置MySQL的环境变量, 通过vi编辑器编辑 /etc/profile 文件, 在尾部追加:

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

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

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

5). 初始化数据库

#创建一个用户组, 组名就叫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中root用户的一个临时密码【记得复制出来,记录下来】:

1.3.2 启动MySQL

A. 启动MySQL服务

systemctl start mysql

B. 通过命令, 登录MySQL

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

1.3.3 配置MySQL

A. 修改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的远程访问的权限,为什么还是连接不上MySQL服务器呢?? 这是因为Linux系统的防火墙,将我们的访问拦截

1.3.4 防火墙操作

Linux系统安装完毕后,系统启动时,防火墙自动启动,防火墙拦截了所有端口的访问。接下来我们就需要学习一下,如何操作防火墙,具体指令如下:

操作指令备注
查看防火墙状态 systemctl status firewalld / firewall-cmd --state  
暂时关闭防火墙 systemctl stop firewalld  
永久关闭防火墙(禁用开机自启) systemctl disable firewalld 下次启动,才生效
暂时开启防火墙 systemctl start firewalld  
永久开启防火墙(启用开机自启) systemctl enable firewalld 下次启动,才生效
开放指定端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent 需要重新加载生效
关闭指定端口 firewall-cmd --zone=public --remove-port=8080/tcp --permanent 需要重新加载生效
立即生效(重新加载) firewall-cmd --reload  
查看开放端口 firewall-cmd --zone=public --list-ports  

 

注意: 要想在windows上能够访问MySQL,需要开放防火墙的3306端口 或者 直接关闭防火墙 ,执行如下指令:

#开发防火墙的3306端口号
firewall-cmd --zone=public --add-port=3306/tcp --permanent

#重新加载
firewall-cmd --reload

#查看开放的端口号
firewall-cmd --zone=public --list-ports

或者直接关闭防火墙:

systemctl stop firewalld

1.3.5 连接测试

关闭掉linux系统的防火墙之后,我们就可以打开windows上的命令行,通过mysql的客户端(命令行/图形化界面)来连接远程linux上安装的MySQL数据库了。

 

标签:--,rpm,Linux,防火墙,mysql,MySQL,安装
From: https://www.cnblogs.com/linzepro/p/18226419

相关文章

  • Navicat, PDManer,PyMySQL模块,SQL注入问题,PyMySQL进阶之主动提交事务
    ⅠNavicat【一】Navicat介绍Navicat可以充当很多数据库软件的客户端提供了图形化界面能够让我们更加快速的操作数据库【1】介绍Navicat是一款功能强大且广泛使用的数据库管理工具,可用于连接和管理多种数据库系统,如MySQL、MariaDB、Oracle、PostgreSQL等。本文将详细......
  • 不挑电脑安装 WIndows11 用 Rufus这个软件
    下Rufus找一个U盘先别动然后去夸克网盘下载windows1124h2iso版本的安装文件,陶10块钱加速下载下来然后安装Rufus 然后使用这个启动盘制作工具选择下载好的iso原版安装包制作启动U盘把那个tpm的对号点上,然后按提示使用启动盘制作软件然后等着做完后,关机,把U盘插上......
  • CentOS安装CA证书
    转自:https://cloud.tencent.com/developer/article/2046854?from=15425CentOS安装CA证书发布于2022-07-1217:49:01 4.6K0 举报文章被收录于专栏:KINDYEARBlog注意本教程目前测试了CentOS6/7可以正常使用,其他其他暂时未知欢迎大家测试留言......
  • Linux-shell自动化编程
    1.常用命令解释器Shell命令解释器:bash编程. 编程环境准备 2.shell脚本执行方式 3.变量变量名字命名要求:1.不能以数字开头。2.不能以特殊符号开头,可以以"_"开头。3.推荐字母开头变量的命名方式:1.驼峰方式:personOfNamepersonOfAge2.✔现代式:单词(小......
  • Linux线程之读写锁小结
    读写锁(rwlock)与互斥锁(MutexLock)相比,有如下特点:更加细致的区分了读和写,给共享资源分别上了“读”锁和“写”锁。“写”独占,“读”共享,“写”锁优先级更高如果共享资源在绝大多数情况下是“读”操作,可以提高程序的并发性能。常用的函数原型总结如下:pthread_rwlock_trwlock......
  • Linux上安装jdk
    1).上传安装包使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux上传完毕后,我们执行指令cd/切换到上传目录下,查看上传的安装包。2).解压安装包执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为/usr/local。(注意版本和压缩包后缀)......
  • k8s——安装istio
    安装istioIstio/入门[root@master~]#curl-Lhttps://istio.io/downloadIstio|sh-%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed00......
  • wsl虚拟机安装
    近几年来wsl被很多开源项目所支持,免去了vm等虚拟机的笨重开箱即用,话不多说教程如下:下载最新的wslwslhttps://github.com/microsoft/WSL/releases#执行wsl--update启用wsldism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/......
  • MySql 数据类型选择与优化
    选择优化的数据类型更小的通常更好一般情况下尽量使用可以正确存储数据的最小类型。更小的数据类型通常更快,因为它们占用更少的磁盘,内存和CPU缓存,并且处理时需要的CPU周期也更少。但也要确保没有低估需要存储值的范围。简单就好简单的数据类型通常需要更少的CPU周期。......
  • 【Linux】 深入讲解自动化构建工具
    各位大佬好,这里是阿川的博客,祝您变得更强个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力阿川水平有限,如有错误,欢迎大佬指正Linux一系列的文章(质量分均在93分以上)Linux–发展、环境、指令上半场Linux–指令下半场Linux–权限Linux–生态与......