【MySQL】MySQL在 Linux下环境安装

LuckyRich1 2024-08-18 12:07:05 阅读 66

MySQL的安装

1.卸载不要的环境2.获取mysql官方yum源3.安装mysql yum源4.安装mysql服务5.登录问题5.配置my.cnf6.设置开机启动(可以不设)

说明:

安装与卸载中,用户全部切换成为root,一旦安装,普通用户也能使用的

1.卸载不要的环境

<code> ps ajx | grep mariadb # 先检查云服务器是否配的有mariadb存在

像我这里就是没有的

在这里插入图片描述

如果有就先停止掉

<code>systemctl stop mariadb.service # 停⽌mariadb 服务

检查是否安装过mysql

ps ajx | grep mysql

我这里就是安装过的

在这里插入图片描述

先切成root用户,然后暂停mysql服务,在查一下mysql就没有了在运行了

<code>systemctl stop mysqld #关闭mysql服务

在这里插入图片描述

如果曾经安装过mariadb或mysql,系统里面一定会有各种安装包,一般通过yum的方式获取到的安装包都是 .rpm 为后缀的

<code>rpm -qa | grep mysql #查看mysql安装

在这里插入图片描述

下面把这些安装包卸载,当然你可以一个一个卸载,也可以一次卸载一批

xargs这个指令是将前面内容拼接到这条命令的最后面,因为以前是通过yum安装的,所以还通过yum卸载

<code>rpm -qa | grep mysql | xargs yum -y remove

卸载完,再查一下发现没有了,这才是真的卸载完成

在这里插入图片描述

<code>ls /etc/my.cnf #检查当前是否有这个文件,如果卸载了mysql这个是没有的

ls /var/lib/mysql #在系统中mysql默认在这个路径下

这个是上一个mysql残留下来的数据,mysql卸载时默认没把数据删掉,这个也是清理之中的,不影响后面的操作

在这里插入图片描述

2.获取mysql官方yum源

mysql官方yum源

注意:最好安装和自己系统⼀致的mysql版本,否则可能会存在软件兼容性问题

<code>cat /etc/redhat-release #查看自己的系统版本

在这里插入图片描述

mysql有5.7 和8.0 我们采用最常用的5.7,el代表CentOS,虽然这里没有7.6的但是我们可以选这个,如果有和自己对应的版本7.7、7.8、7.9就选择对应的。

在这里插入图片描述

下载到你的本地,然后上传到你的Linux服务器

<code>rz #拉取本地文件到linux服务器

现在确实看到是存在的

在这里插入图片描述

3.安装mysql yum源

rpm是安装命令,yum是下载命令

对比前后yum 源

<code>ls /etc/yum.repos.d/ -l

安装之前

在这里插入图片描述

<code>rpm -ivh mysql57-community-release-el7.rpm #安装刚才下载的mysql源

安装之后,发现多了两个mysql

在这里插入图片描述

测试看看能不能正常工作,如果有内容说明yum已经生效了

<code>yum list |grep mysql

4.安装mysql服务

上面安装好之后,我们就可以用yum的方式一键安装mysql

yum install -y mysql-community-server #安装mysql

它会将公共部分、库、客户端,服务器都安装。

如果在安装的时候报错了。最常见就是两种问题

1.安装遇到秘钥过期的问题:

Failing package is: mysql-community-client-5.7.39-1.el7.x86_64

GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

解决⽅案:

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

将上面命令输入命令行,然后在重新安装就可以了

2.安装之后可能发现自己装的是mysql80,根本原因是因为把mysql yum源下载错了

安装mysql成功,输入下面命令可以看到存在一个my.cnf的文件

ls /etc/my.cnf

在这里插入图片描述

存在mysql服务端和客户端

在这里插入图片描述

mysqld是服务端,一般启动mysql服务端明显看到/sbin/mysqld代表超级用户需要执行它,一般像mysql等这种存储相关的网络服务启动时必须是root权限。我们普通用户用的不是root启动的服务端,而是mysql客户端。

有上面三个东西说明mysql是装好了!

然后我们将mysql服务启动

<code>systemctl start mysqld #启动mysql服务

在这里插入图片描述

在这里插入图片描述

启动之后我们登录一下

<code>mysql -uroot -p

我们发现登录不进去

在这里插入图片描述

下面我们解决如何在现阶段进行常规登录,

5.登录问题

登录方法一(不行就下一个)

获取临时root密码,使用临时密码登录

<code>sudo grep 'temporary password' /var/log/mysqld.log #获取临时root密码

登录之后可以自己修改一下

判断修改密码时候新密码是否符合当前的策略,不满足报错,不让修改,关闭它。安全强度,默认为中,即1,要求必须包含 数字、符号、大小写字母,长度至少为8位

mysql> set global validate_password_policy=0;

密码最小长度

mysql> set global validate_password_length=1;

修改本地登录密码,暂不授权远程登录

mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘qwer@wu.888’;

mysql> FLUSH PRIVILEGES;

如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码

登录方法二(不行就下一个)

如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码

试着直接client登陆⼀下

登录方法三(这个肯定行)

vim /etc/my.cnf #打开mysql配置⽂件

在[mysqld]最后一栏配置(不知道是什么,就放在配置文件最后) 加入: skip-grant-tables 选项,并保存退出。就是登录时不给再给我做密码认证了。

在这里插入图片描述

然后重启mysql服务,才能配置文件生效!

<code>systemctl stop mysqld #关闭

systemctl start mysqld #启动

systemctl restart mysqld #直接重启

两种办法都可以,然后在登录就不要密码直接按空格进去了

在这里插入图片描述

查看自己的数据库

在这里插入图片描述

退出

在这里插入图片描述

5.配置my.cnf

解决mysql编码不一致问题,这里我们统一使用utf8进行编码,也可以自己该mysql端口号

改mysql端口号

想改就改不改就不用写这句话

在这里插入图片描述

datadir 是未来mysql建库建表时数据所在的路径

log-error 是错误日子所在路径

在这里插入图片描述

server编码格式

在这里插入图片描述

存储引擎

在这里插入图片描述

改完重启服务一下才能生效!

6.设置开机启动(可以不设)

因为我们的服务器是布置在云服务器上,云服务器不会关机,因此可以不设

开启开机自启动

<code>systemctl enable mysqld

systemctl daemon-reload



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。