首页 > 数据库 >Linux安装MySQL

Linux安装MySQL

时间:2024-03-13 23:03:27浏览次数:35  
标签:-- 安装 Linux 密码 mysql MySQL rpm

安装

对于MySQL数据库的安装,我们将要使用rpm进行安装。那么首先我们先了解一下什么rpm?
**RPM:**全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。
我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:

1). 检测当前系统是否安装过MySQL相关数据库

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

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

通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。
image.png
通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

2). 卸载现有的MySQL数据库**

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

rpm -e --nodeps  软件名称

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

rpm -e --nodeps  mariadb-libs-5.5.68-1.el7_5.x86_64
rpm -e --nodeps  mariadb-5.5.68-1.el7.x86_64

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

3.提供的MySQL安装包上传到Linux并解压

A. 上传MySQL安装包
我们需要将该安装包上传到Linux系统
我下载的是mysql-5.7.25-1版本的,你们自便。

网址:https://mirrors.aliyun.com/mysql/
image.png
image.png
B. 解压到/usr/local/mysql
执行如下指令:

mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

image.png
以上都是mysql的安装包

4). 安装顺序安装rpm安装包

一定要安装顺序执行 不然安装失败 会很麻烦!!!!!!

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

说明:

  • 因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
  • 安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证联网)
  • 可以通过指令(yum update)升级现有软件及系统内核

image.png
一共是7步!!!!!!

MySQL启动

MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。

systemctl status mysqld		查看mysql服务状态
systemctl start mysqld		启动mysql服务    
systemctl stop mysqld		停止mysql服务

image.png

说明:
可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:
systemctl enable mysqld

我们可以通过如下两种方式,来判定mysql是否启动:

netstat -tunlp                  查看已经启动的服务
netstat -tunlp | grep mysql     查看mysql的服务信息

ps -ef|grep mysql               查看mysql进程

image.png

备注:

A. netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

  参数说明:

  -l或--listening:显示监控中的服务器的Socket;<br />		-n或--numeric:直接使用ip地址,而不通过域名服务器;<br />		-p或--programs:显示正在使用Socket的程序识别码和程序名称;<br />		-t或--tcp:显示TCP传输协议的连线状况;<br />		-u或--udp:显示UDP传输协议的连线状况;

B. ps命令用于查看Linux中的进程数据。

MySQL登录

查阅临时密码

MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢? 那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。
可以执行如下指令:

cat /var/log/mysqld.log

image.png
这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。

cat /var/log/mysqld.log | grep password

我们可以通过上述指令,查询日志文件内容中包含password的行信息。
image.png
uclaX.1?Ehwo

登录MySQL

获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。

①. 登录mysql(复制日志中的临时密码登录)
	mysql -uroot -p								

②. 修改密码
    set global validate_password_length=4;			设置密码长度最低位数
    set global validate_password_policy=LOW;		设置密码安全等级低,便于密码可以修改
    set password = password('你的密码');				设置密码为root
    
③. 开启访问权限
数据库中授予对所有数据库和表的所有权限给 'root' 用户,并且该用户可以从任何主机 '%' 进行访问,密码为 '1123'。
    grant all on *.* to 'root'@'%' identified by '你的密码'; 表示匹配所有的ip地址 可以访问
    flush privileges; 刷新立即生效

image.png

在MySQL中,validate_password_policy 系统变量确定密码策略的执行级别。可能的取值包括:

LOW:密码必须至少包含8个字符。
MEDIUM:密码必须至少包含8个字符,并满足额外的要求,如包含大小写字母和至少一个数字。
STRONG:相比中等策略,密码必须满足更严格的要求。
通过将 validate_password_policy 设置为 LOW,选择了最不严格的策略,其中密码只需至少包含8个字符。

操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql,再次通过新的密码进行登录。
image.png
注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

如果你是阿里云服务器的话也要打开3306的安全组!!!!!

标签:--,安装,Linux,密码,mysql,MySQL,rpm
From: https://blog.csdn.net/m0_64361728/article/details/136694121

相关文章

  • 详细分析Mysql中的LOCATE函数(附Demo)
    目录1.基本概念2.Demo3.实战1.基本概念LOCATE()函数在SQL中用于在字符串中查找子字符串的位置它的一般语法如下:LOCATE(substring,string,start)LOCATE()函数返回子字符串在主字符串中第一次出现的位置如果未找到子字符串,则返回0具体的参数如下:substring......
  • Linux学习-day8
    vim的使用安装vimyuminstallvim-y验证是否有vimvim的使用基本上vi/vim共分为三种模式,分别是:命令模式(Commandmode)最长用的,按下字母,a,i,o(a在光标前开始编辑,i是在光标处,开始编辑,o是在光标下一行开始编辑)当你使用vim标记某个文件时,第一步就进入了命令模式。你此......
  • Linux内核编译(版本6.0以及版本v0.01)并用qemu驱动
    系统环境:ubuntu-22.04.1-desktop-amd64目标平台:x86i386内核版本:linux-6.0.1linux-0.0.1环境配置修改root密码sudopasswd修改软件源(非必要)vmtools安装(实现win-linux软件互传)安装一些必须的软件:sudoaptinstallbuild-essentialopenssh-servervimnet-toolsgc......
  • java毕业设计小众咖啡店推荐平台的设计与实现(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景在当今社会,咖啡已经成为许多人日常生活中不可或缺的一部分。随着人们生活水平的提高和消费观念的转变,越来越多的人开始追求个性化和高品质的咖啡体验。小......
  • java毕业设计线上教学平台(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景随着互联网技术的迅猛发展,线上教育已经成为了现代教学体系中不可或缺的一部分。尤其是在全球性的公共卫生事件影响下,线上教学平台显示出了其独特的优势和......
  • Hadoop安装与使用
    Hadoop安装与使用创建Hadoop用户创建hadoop用户可以使不同用户之间有明确的权限区别,同时也可以使针对Hadoop用户的配置操作不影响其他用户的使用创建用户命令如下:sudouseradd-mhadoop-s/bin/bash设置用户密码,方便记忆可以设为hadoopsudopasswdhadoop然后为hadoop......
  • mac软件-Understand安装
    下载:链接:https://pan.baidu.com/s/1UvxgFnjv9pRVJmZO-J2OrQ 密码:nyd4启动后,开始激活,点击enter License code点击“uselegacylicenseing”点击“ADDAlicense”出现如下图,请选择“AddEvalSDL(RegCode)”弹出注册界面,输入licensecode,邮箱任意输入至此,软件“......
  • mysql修改wait_timeout无效
    今晚本来要搭建一个mysql服务测试那个mysqlhasgoneaway问题的,结果设置wait_timeout死活不生效,找来找去,结果发现最大的问题在于globalvariables的问题。先说最重要的,查看这个变量的方法:showglobalvariableslike'%timeout';或者showglobalvariableslike'wait_......
  • Linux线程池的创建(超详细解析)
    线程池:若干个线程组合在一起形成线程池;为什么需要线程池:多线程版本服务器一个客户端就需要创建一个线程,如果客户端太多,明显不太合适;创建思路:我们需要一个线程池结构体,然后这个结构体里面包含任务池,这个线程池结构体是全局变量,需要使用互斥锁,当子线程执行回调函数时,把该线程......
  • Linux系统架构----Nginx的服务优化
    Linux系统架构----Nginx的服务优化一.隐藏版本号在生产环境中,需要隐藏Nginx的版本号,以免泄露Nginx的版本,使得攻击者不能针对特定版本进行攻击查看Nginx的版本有两种方法使用fiddler工具抓取数据包,查看Nginx版本在Centos7上使用使用命令curl-I查看隐藏Nginx版本......