Centos7安装Mysql二进制版本(超详细)

看到网上说CentOS 7上不能再安装开源的mysql了(不能用免费的了),需要安装mariadb, 但是问了公司运维说是可以安装mysql二进制通用版本的.(记录一下安装二进制版本的过程)

下载链接/版本

↓配上下载链接和下载版本(我选的是LInux通用5.7.44版本的)
Mysql社区下载页面
image.png

检测当前系统是否安装过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数据库。

卸载系统已有的MySQL数据库

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

rpm -e --nodeps 软件名称

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

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64(查到的mariadb名称)

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

上传mysql到服务器并解压安装

在/home/soft/下创建mysql文件夹,用于存放Mysql安装包 , 并将安装包上传到该目录

mkdir -p /home/soft/mysql

进入该目录解压该安装包,也可解压命令后跟解压后的位置

# 进入目录后解压
cd /home/soft/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz 

# 不进入目录,在解压命令后跟解压后的位置
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C home/soft/mysql
按照顺序安装mysql的rpm安装包

进入解压后的目录使用ll查看所有文件
image.png

备注: 一定要按照下方顺序依次安装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安装缺失的依赖(缺啥依赖补什么依赖)
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

说明:

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

image.png

MySQL启动

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

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

image.png

备注: 可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:

systemctl enable mysqld
根据线程端口判定Mysql是否启动

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

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

ps -ef | grep mysql 查看mysql进程

image.png

备注:
A. netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
参数说明:
-l或–listening:显示监控中的服务器的Socket;
-n或–numeric:直接使用ip地址,而不通过域名服务器;
-p或–programs:显示正在使用Socket的程序识别码和程序名称;
-t或–tcp:显示TCP传输协议的连线状况;
-u或–udp:显示UDP传输协议的连线状况;
B. ps命令用于查看Linux中的进程数据。

Mysql登陆

查看Mysql访问密码

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

通过grep过滤的方式 , 直接查询日志文件内容中包含password的行信息。

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

image.png

登陆mysql

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

. 登录mysql(复制日志中的临时密码登录)
mysql -uroot -p. 修改密码
set global validate_password_length=4; 设置密码长度最低位数(不建议修改)
set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成root(不建议修改)
set password = password('1234'); 设置密码为1234(不建议修改)
#如果是学习, 可以将上面三个命令执行一下,便于后面每次输入密码还方便. 开启访问权限
grant all on *.* to 'root'@'%' identified by '1234'; 设置远程账户为root,密码为1234

操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql, 再次通过新的密码进行登录。
image.png

开启防火墙端口

要想在windows上能够访问MySQL,还需要开放防火墙端口(这里我开放的是3306端口

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

在Windows使用Navicat远程连接数据库

image.png

  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值