CentOS安装mysql简单教程

环境说明

  • 操作系统:CentOS Linux release 7.9.2009 (Core)
  • 本次安装MySQL版本:8.0.26
  • 连接工具:xshell、xftp(或者其他连接/上传工具)

开始

1、查看centos7中是否有MariaDBMariaDBMySQL关系请自行查阅

rpm -qa | grep mariadb

在这里插入图片描述
2、如果有MariaDB,需要将 步骤1 中查询到的mairadb全部卸载,否则MySQL安装会出现问题

rpm -e --nodeps 软件名

在这里插入图片描述
3、查看本机是否已经安装过MySQL

rpm -qa | grep -i mysql

在这里插入图片描述
4、如果安装过MySQL,请确定是否有数据需要备份(如果有需要备份的数据请自行查阅相关操作进行备份,否则数据丢失概不负责

  如果没有安装过MySQL,请跳转步骤6

5、卸载MySQL

  • 将步骤3中查询到的mysql安装包全部卸载

rpm -e --nodeps 软件名

  • 查找mysql文件,并将其删除

find / -name mysql
whereis mysql

  将find命令和whereis命令查询到的mysql文件全部删除

rm -rf 查询到的mysql路径

  删除mysql配置文件

rm /etc/my.cnf

  • 确认是否全部删除mysql

rpm -qa | grep -i mysql

6、MySQL官网下载适用于centos7的mysql安装包
在这里插入图片描述

在这里插入图片描述
查询服务器是x86_64架构还是arm架构

uname -m
或者是
arch
# 我的服务器是x86_64的

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 这里可以下载直接通过浏览器下载下来,然后通过ftp上传到所要安装的服务器中
  • 或者是复制这个tar包的链接,然后通过wget命令下载,操作如下

wget 文件的网络地址

比如我这里下载的地址是

wget   https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.0-1.el7.x86_64.rpm-bundle.tarhttps://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.26-1.sl15.x86_64.rpm-bundle.tar

这里的版本号会对应下面的插件依赖版本安装,最好安装一样的版本。

历史版本下载教程:

在这里插入图片描述

在这里插入图片描述

  • 无论是通过xftp工具还是wget命令,将MySQL的tar包传到centos的某个目录下(比如home目录下),这里演示的是上传到root用户的home目录下
    在这里插入图片描述

7、解压tar包
在解压之前,建议先创建一个空的目录,因为这个tar包解压后多个rpm包会直接放到当前目录。因为我的tar包是在root用户的home目录下,所以直接在这个目录下创建了一个mysql的目录。这个目录无所谓!

mkdir mysql
在这里插入图片描述

解压该tar包

tar -xvf mysql的tar包全名 -C 解压到指定目录
# 说明:-C参数,后面跟的是目录,意思是将压缩包解压缩后存放到指定的目录下。

# 这里就指定到刚才创建的mysql目录下

在这里插入图片描述
在这里插入图片描述
8、开始安装MySQL

  • rpm安装命令

rpm -ivh xxx.rpm

# 这里选择的是全部安装
# 安装顺序如下,否则会出现依赖问题
mysql-community-common-8.0.26-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.26-1.el7.x86_64.rpm
mysql-community-libs-8.0.26-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
mysql-community-devel-8.0.26-1.el7.x86_64.rpm
mysql-community-client-8.0.26-1.el7.x86_64.rpm
mysql-community-server-8.0.26-1.el7.x86_64.rpm
mysql-community-test-8.0.26-1.el7.x86_64.rpm

  • 以上安装rpm时可能会出现centos的动态库缺失等情况,这里记录下几种错误情况
错误:依赖检测失败:
	perl(Data::Dumper) 被 mysql-community-test-8.0.34-1.el7.x86_64 需要
	perl(JSON) 被 mysql-community-test-8.0.34-1.el7.x86_64 需要
	perl(Test::More) 被 mysql-community-test-8.0.34-1.el7.x86_64 需要
	
解决办法:
yum install net-tools
yum install -y perl-Module-Install.noarch
yum install perl-JSON
yum install perl-Test-Simple -y

  • 情况1:
    [root@VM-0-14-centos mysql]# rpm -ivh mysql-community-embedded-compat-8.0.26-1.el7.x86_64.rpm
    warning: mysql-community-embedded-compat-8.0.26-1.el7.x86_64.rpm: Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY
    error: Failed dependencies:
    libnuma.so.1()(64bit) is needed by mysql-community-embedded-compat-8.0.26-1.el7.x86_64
    libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-embedded-compat-8.0.26-1.el7.x86_64
    libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-embedded-compat-8.0.26-1.el7.x86_64

  • 解决方式:

    • yum -y install numactl
  • 情况2
    [root@VM-0-14-centos mysql]# rpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpm
    warning: mysql-community-devel-8.0.26-1.el7.x86_64.rpm: Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY
    error: Failed dependencies:
    pkgconfig(openssl) is needed by mysql-community-devel-8.0.26-1.el7.x86_64

  • 解决方式

    • yum install openssl-devel
  • 情况3
    [root@VM-0-14-centos mysql]# rpm -ivh mysql-community-test-8.0.26-1.el7.x86_64.rpm
    warning: mysql-community-test-8.0.26-1.el7.x86_64.rpm: Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY
    error: Failed dependencies:
    perl(Data::Dumper) is needed by mysql-community-test-8.0.26-1.el7.x86_64

  • 解决方式

    • yum -y install autoconf
  • 情况4
    [root@VM-0-14-centos mysql]# rpm -ivh mysql-community-test-8.0.26-1.el7.x86_64.rpm
    warning: mysql-community-test-8.0.26-1.el7.x86_64.rpm: Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY
    error: Failed dependencies:
    perl(JSON) is needed by mysql-community-test-8.0.26-1.el7.x86_64

  • 解决方式

    • yum install perl-JSON.noarch -y
    • yum install perl.x86_64 perl-devel.x86_64 -y
  • 情况5
    [root@VM-0-14-centos mysql]# rpm -ivh mysql-community-test-8.0.26-1.el7.x86_64.rpm
    warning: mysql-community-test-8.0.26-1.el7.x86_64.rpm: Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY
    error: Failed dependencies:
    perl(Test::More) is needed by mysql-community-test-8.0.26-1.el7.x86_64

  • 解决方式:

    • 到 https://pkgs.org/download/perl(Test::More),打开centos7的下拉框,找到CentOS x86_64下对应的rpm,然后打开这个rpm连接,在Download对应的部分找Binary Package,后面有对应的rpm下载连接,下载下来进行安装即可

9、初始化数据库

mysqld --initialize --console

10、目录授权,否则可能会启动失败

chown -R mysql:mysql /var/lib/mysql/

11、启动mysql

systemctl start mysqld

  • 对应的重启、关闭mysql命令如下

systemctl stop mysqld
systemctl restart mysqld

12、查询mysql状态

systemctl status mysqld

在这里插入图片描述

13、查询mysql的临时密码

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

在这里插入图片描述
14、使用临时密码登录mysql

mysql -u root -p

  • 注意:linux下输入密码是不会回显(不是电脑坏了!),输入完毕后直接回车即可

在这里插入图片描述

  • 密码输入正确,回车后看到如下信息,则代表成功进入mysql

在这里插入图片描述

  • 注: 8.4.0版本以下可以设置类似Root_12root为密码,或者直接修改密码策略,执行以下代码,执行完成后就可以将密码设置成最简单的了
  • mysql> SET GLOBAL validate_password.policy=0;
    mysql> SET GLOBAL validate_password.length=1;
    
  • mysql8对密码的强度有很高的要求,具体密码要求可使用以下命令查询

SHOW VARIABLES LIKE ‘validate_password%’;

15、修改mysql的登录密码

alter user ‘root’@‘localhost’ identified with mysql_native_password by '你的密码' ;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_12root';(8.4.0用这个命令,上面不可用也可以用这个)

最后重启下mysql即可

16、mysql设置远程连接
注:这个步骤根据实际需求而设定

show databases ;
use mysql ;

在这里插入图片描述
查看可登录mysql的host

select host, user from user;

host部分全部都是localhost,说明用户只能本地连接msyql服务
在这里插入图片描述

  • 修改root用户的host值,并刷新mysql数据库
update user set user.host='%'where user.user='root';
flush privileges;

在这里插入图片描述

  • 在我的windows电脑上使用Navicat测试连接服务器上的mysql,看看是否能够远程连接
    在这里插入图片描述
    17、其他情况说明

  • 连接失败的情况

    • centos7的防火墙是否开启了3306的端口
    • 云服务器的出入站规则配置情况
  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值