centos安装mysql5.7.31

第一、在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_第1张图片
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_第2张图片
解决方案:在他的后面加上 --force --nodeps

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

执行上面的命令,一切正常,如图
在这里插入图片描述
这几个包的安装完成之后,我们的数据库也就安装完成了,有几个需要注意的地方:

  • 数据库目录:/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_第3张图片
由于服务已经启动了,所以可以用root和这个密码登陆了:

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

alter user root@localhost 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_第4张图片

第八、开放端口

这里设置完之后,就可以在其他局域网内电脑上用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)