在Centos 7中学习搭建MySQL

本文章主要还是学习了其他博主的方法,自己尝试去实操进行记录所得,纯属当做学习笔记。

1.在Linux系统中,要检查系统是否安装了MySQL,可以使用命令行工具。以下是几种查看方法:

1.1使用mysql命令(Centos系统):

  mysql -version

(1)如果MySQL客户端没有安装就会出现报错,因为Bash shell无法在环境变量$PATH定义的目录中周到mysql命令。

(2)如果MySQL已安装,此命令将输出MySQL的版本信息。

1.2使用dpkg(Debian/Ubuntu系统):

  

dpkg -l | grep mysql

如果MySQL已安装,这将列出所有与mysql相关的包。

1.3使用rpm(Red Hat/CentOS系统):

rpm -qa | grep mysql

这将列出所有已安装的MySQL包。

1.4检查服务状态:

systemctl status mysql

或者对于旧版本的MySQL或MariaDB:

systemctl status mysqld

如果以上命令没有返回任何信息或者不存在,那么可以确定Linux系统上没有安装MySQL。

2.安装mysql

2.1准备工作

2.1.1为Centos虚拟机设置静态IP地址和网卡自启动,目的是让虚拟机每次重启后保证网卡的自动开启,以及保证连接数据库的IP地址不出现变化。(虚拟机网络适配器为NAT模式。)

首先我们虚拟机安装的时候选择NAT模式,需要查看网卡信息,以便去设置一个静态的IP地址。

(A)查看NAT模式的操作:

(1)查看NAT模式的网卡信息又或者可以改成想要设置的网段信息,可以点击“编辑”中的“虚拟网络编辑器”。

(2)点击右下角的“更改设置”。

(3)进入更改设置之后,可以保留默认的网段信息。

(3.1)如果想要配置自己指定的网段,可以点击选择VMnet8,接着对子网IP和子网掩码进行更改。

(3.2)更改子网IP和子网掩码之后,点击编辑“NAT设置”,对网关IP进行修改;点击“确定”。

(3.3)点击“确定”或者“应用”完成设置。

(B)在Centos 7系统中,进入到管理员的模式下,可以通过以下命令查看网卡信息:

(1)使用ifconfig命令:

(2)使用ip address show(ip add)命令:

(3)使用nmcli命令:

nmcli con show

(4)使用ethtool命令:

ethtool -i <网卡设备名>

以上方法都可以用来查看CentOS系统中的网卡信息。方法1和方法2是最常用的,它们会显示网络接口的详细信息,包括IP地址、MAC地址、子网掩码等。方法3使用NetworkManager的命令行接口,可以查看已配置的网络连接信息。方法4使用ethtool工具,可以显示网卡设备的驱动程序和版本信息。

(C)配置网卡信息,使用vi /etc/sysconfig/network-scripts/ifcfg-ens33命令:

(1)进入配置文件

(2)进入到配置文件后,按键盘“i”键或者“Insert”键即可进入编辑模式,修改之后按键盘上的“Esc”键退出编辑模式,最后按“shift”+“ :”键输入wq回车进行保存。

修改前:

修改后:

BOOTPROTO=dhcp   改为  BOOTPROTO=static

ONBOOT=no        改为  ONBOOT=yes

添加IP地址、子网掩码、网关和DNS信息:

IPADDR=192.168.62.129

NETMASK=255.255.255.0

GATEWAY=192.168.62.2

DNS1=8.8.8.8

DNS2=8.8.4.4

(3)重启网络服务或者重启虚拟机

systemctl restart NetworkManager       //重启网卡服务

      或

      reboot                            //重启

2.1.2 检查是否安装过mysql,如果已安装可以使用以下命令进行卸载。

(1)使用命令 rpm -qa |grep mysql

如果查找到mysql相关包,那就是安装过,如果回车不显示,则说明没有。

(2)安装过mysql,先使用命令 systemctl stop mysqld 关闭mysql。

(3)通过rpm命令安装mysql的,使用命令rpm -e –nodeps +包名 删除mysql包

(注意:删除一个不行,需要删除所有)

(4)通过yum命令安装mysql的,使用命令yum remove +包名

同时需要卸载掉mysql的依赖

yum remove mysql-libs

yum remove mysql-server

yum remove perl-DBD-MySQL

yum remove mysq

2.2删除mariadb数据库软件包

2.1.1使用命令rpm -qa |grep mari查询mariadb数据库软件包

rpm -qa |grep mari

2.1.2删除软件包使用命令yum remove包名

(1)yum remove marisa-0.2.4-4.el7.x86_64

(2)yum remove mariadb-libs-5.5.68-1.el7.x86_64

(3)检查是否删除掉,再次使用命令rpm -qa |grep mari查询,回车没有输出内容就说明已删除相关软件包。

2.3在Centos 7上安装MySQL

2.3.1使用命令wget -c +链接 下载rpm源

wget -c https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

2.3.2使用命令rpm -ivh +包名 安装rpm源。

rpm -ivh mysql80-community-release-el7-7.noarch.rpm

2.3.3使用命令yum -y install mysql-server安装mysql服务。

yum -y install mysql-server

安装中出现mysql客户端没安装成功。

这个错误表明你尝试安装的 MySQL 客户端软件包 mysql-community-client-8.0.38-1.el7.x86_64.rpm 需要验证其完整性和来源的安全性,但是它所依赖的公钥没有在你的系统上安装。公钥是一种公开的密钥,用于验证软件包是否来自其声称的来源。

报错说公钥2022有问题,那么可以通过命令进行更新为2023的公钥

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

注意:链接可能会随着时间而变化,请确保从 MySQL 官方仓库获取最新的公钥。

接着再次执行命令yum -y install mysql-server即可完成安装。

2.4启动MySQL

2.4.1使用命令systemctl start mysqld启动MySQL

(1)查看mysql运行状态

systemctl status mysqld

(2)启动mysql

systemctl start mysqld

(3)停止mysql

systemctl stop mysqld

(4)重启mysql

systemctl restart mysqld

2.4.2使用命令systemctl enable mysqld设置MySQL开机自启动。

systemctl enable mysqld

如果需要关闭mysql开机自启动,可以使用命令:

systemctl disable mysqld

2.5设置MySQL密码

2.4.1使用命令grep 'temporary password' /var/log/mysqld.log获取MySQL临时密码。

grep 'temporary password' /var/log/mysqld.log

!gdgoA7y,qdF

2.5.2使用命令mysql -uroot -p登录MySQL,密码为上面获得的临时密码。

mysql -uroot -p

!gdgoA7y,qdF

2.5.3登录后使用下方命令设置MySQL永久密码。

alter user ‘用户名’@‘loaclhost’ identified by ‘修改的密码’;

alter user 'root’@’localhost' identified by 'psaword@0';

Your password does not satisfy the current policy requirements

(您的密码不符合当前策略要求)

You must reset your password using ALTER USER statement before executing this statement.

(在执行此语句之前,必须使用ALTER USER语句重置密码。)

重新执行更改用户密码语句,密码最好包含字母,特殊字符,下划线和数字,长度8位以上。最好自己去手动输入,直接复制就会出现以上的报错情况,由于密码设置或者哪个符号有问题,下面修改密码语句,是自己重新手打设置的,也找了很多博主的文章看看自己的为什么报错,多数都是因为密码策略设置问题。

alter user 'root'@'localhost' identified by 'Admin@12345!';

修改成功后即可使用查询密码命令:

show variables like 'validate_password.%';

2.5.4修改密码策略

     修改密码策略只是临时的,重启mysql之后会自动恢复默认密码策略,如需永久修改,那么需要进入到mysql配置文件中进行修改。

2.5.4.1 设置密码长度。

      set global validate_password.length=6;

2.5.4.2 设置密码等级(等级分为0、1、2,数字越大要求密码越复杂)。

       set global validate_password.policy=0;

2.5.4.3查询密码策略

通过上面的设置之后,密码策略的长度和复杂要求都降低了。

show variables like 'validate_password.%';

2.5.5 把密码策略修改之后,设置密码的要求得到降低

     可以尝试再次设置数据库的密码

alter user ‘root’@’localhost’ identified by ‘123456’;

对于数据库里面的命令,最好自己手动输入,不要复制粘贴,会出现标点符号的不一致导致出错。

2.6设置外部允许访问这个MySQL数据库

2.6.1 创建远程连接的用户账号密码

2.6.2 分配权限,运行远程连接,允许root账号远程连接

grant all privleges on *.* to 'root'@'%' with grant option;

2.6.3 刷新权限

flush privileges;

2.6.4使用Navicat尝试连接Centos7上部署的MySQL数据库;

如果出现连接失败,可能是Centos7上的防火墙阻止了导致无法连接。

注意:这里使用的密码是步骤2.6.1所创建的密码

主机IP为什么不是前面设置的·,因为自己换了虚拟机,按照以上步骤重新搭建了

2.6.5对防火墙进行配置

2.6.5.1可以直接关闭防火墙,存在安全隐患,不建议关闭

使用命令systemctl stop firewalld.service 关闭防火墙

2.6.5.2开启指定端口允许外部访问

使用命令firewall-cmd --permanent --add-port=3306/tcp 设置该端口允许外部访问

3306是MySQL默认端口号

设置完之后,重启防火墙,使策略生效。

使用命令firewall-cmd --reload

2.6.5.3防火墙命令

关闭防火墙

systemctl stop firewalld.service

开启防火墙

systemctl strat firewalld.service

禁止防火墙开机自启动

systemctl disable firewalld.service

设置防火墙开机自启动

systemctl enable firewalld.service

查看防火墙状态

systemctl status firewalld.service

设置防火墙策略允许该端口永久被外部访问

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

设置临时访问

firewall-cmd  --add-port=3306/tcp

重启防火墙

firewall-cmd –reload

2.6.6重新远程连接MySQL数据库

在步骤2.6.4中因为防火墙的原因,导致连接不上;当处理好之后,回到Navicat右击“MySQL”选择“打开连接”,即可连接上搭建好的MySQL数据库。

  • 12
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值