欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos安装mysql5.7.31

程序员文章站 2024-03-21 17:40:58
...

第一、在Linux操作系统下,安装MYSQL有两种方式:

1、一种tar安装方式

2、另外一种是rpm安装方式。

这两种安装方式有什么区别呢?尽管我们在Linux下常用tar来压缩/解压缩文件,但MYSQL的tar格式的文件其实只是mysql的文件包,并不能直接安装,需要操作configure、make、install等命令才能完成安装,是一种比较繁琐的安装方式。而rpm格式的文件是真正的安装包,相当于windows的exe文件,可以直接安装。

第二、删除老版本的MySQL

在安装前要先确定系统是否已经安装了其他版本的MySQL,如已安装其他版本的MySQL,需先删除后再安装新版本。经本文亲测,采用如下方式删除老版本的MySQL或MySQL残留文件作为方便。

  1. 执行yum命令,删除MySQL的lib库
yum remove mysql mysql-server mysql-libs mysql-server;
  1. 执行find命令,查找MySQL的残留文件,然后运行“rm -rf 文件名”删除残留的MySQL文件
find / -name mysql

第三、安装环境

当前,MySQL的最新版本为:5.7.31,从官网下载MySQL的rpm安装包

在重新进行安装之前,为确保万无一失,我们还是再确认一下系统中是否有MySQL极其相关的RPM安装包。如果有,则先删除。

1、先查看是否安装mysql,如果有就删除它:yum remove mysql-community-server-5.7.31-1.el7.x86_64

rpm -qa | grep -i mysql

执行完上述命令后,返回空数据,说明没有安装相关包

2、再查看是否安装了mariadb,centos7系统,则会自带mariadb,这个是mysql的一个分支,需要移除掉,可以执行下面命令查询是否

rpm -qa | grep -i mariadb

如果有mariadb就删除它

yum remove mariadb-libs-5.7.31-1.el7.x86_64

3、将mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar安装文件,拷贝到服务器,解压文件

tar xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar

这时,我们再到mysql的目录下就可以看到解压出来的rpm包:
centos安装mysql5.7.31
4、由于mysql的server端需要perl语言的支持,因此我们还需要在系统中安装perl支持:

yum install perl -y

第四、安装mysql

由于我们上面解压出来的几个rpm包有依赖关系,所以我们需要按照顺序执行安装:

rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

如果使用上面的命令安装,出现如下的错误
centos安装mysql5.7.31
解决方案:在他的后面加上 --force --nodeps

rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm --force --nodeps

执行上面的命令,一切正常,如图
centos安装mysql5.7.31
这几个包的安装完成之后,我们的数据库也就安装完成了,有几个需要注意的地方:

  • 数据库目录:/var/lib/mysql/
  • 命令配置:/usr/share/mysql (mysql.server命令及配置文件)
  • 相关命令:/usr/bin (mysqladmin mysqldump等命令)
  • 启动脚本:/etc/rc.d/init.d/ (启动脚本文件mysql的目录)
  • 系统配置:/etc/my.conf

第五、执行-初始化

安装完成了,我们需要先把mysql运行起来,这样我们才能进行接下来的配置。

先看一下 /var/lib/mysql/ 目录下是否有东西,如果发现这个目录下是没有东西的,或者是连mysql这个目录都没有,也就是说数据库还没有初始化。

mysql的启动

systemctl start mysqld.service

这样mysqld这个服务就添加到系统中了,我们可以用service进行启动了,启动,停止,重启的命令如下:

启动:

使用 service 启动:

service mysqld start

使用 mysqld 脚本启动:

/etc/inint.d/mysqld start

使用 safe_mysqld 启动:

safe_mysqld&

状态:

systemctl status mysqld

停止:

使用 service 启动:

service mysqld stop

使用 mysqld 脚本启动:

/etc/inint.d/mysqld stop
mysqladmin shutdown

重启:

使用 service 启动:

service mysqld restart

使用 mysqld 脚本启动:

/etc/inint.d/mysqld restart

我们在启动了mysql之后,这个时候等待一段时间,数据库需要进行初始化,这个时候我们可以看一下数据库的日志,会发现mysql帮我们初始化了一个root用户:

cat /var/log/mysqld.log

centos安装mysql5.7.31
由于服务已经启动了,所以可以用root和这个密码登陆了:

第六、登录成功需要修改初始化密码

alter user aaa@qq.com identified by '123456';

使用命令修改密码出现问题时,可以查看另一篇文章解决方案:https://blog.csdn.net/longzhoufeng/article/details/107838816

第七、设置外部远程访问权限:

grant all privileges on *.* to 'root' @'%' identified by '123456'; 
flush privileges;

如图:说明设置成功
centos安装mysql5.7.31

第八、开放端口

这里设置完之后,就可以在其他局域网内电脑上用Navicat连接一下看看能不能连接了,如果遇到带有数字的报错(非denind)的话,可以尝试开启防火墙的端口限制:

开启3306端口

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

如果上面命令报错,在centos出现 “FirewallD is not running”

是因为没有开启防火墙,解决方案:https://fullstack.blog.csdn.net/article/details/107839916

刷新防火墙

firewall-cmd --reload 

第九、设置开机启动

chkconfig mysqld on
相关标签: SQL mysql