基于CentOS7安装MySQL数据库并远程访问

  • Post author:
  • Post category:mysql


MySQL是目前最为流行的开放源码的数据库,是完全网络化的跨平台的关系型数据库系统,它是由瑞典MySQLAB公司开发,目前属于

Oracle

公司。任何人都能从Internet下载MySQL软件,而无需支付任费用,并且“开放源码”意味着任何人都可以使用和修改该软件。下面我们来学习如何在CentOS7环境安装MySQL数据库,并且进行远程访问。

一、设置阿里yum源,提高下载速度

前提:能上网,ping www.baidu.com

1、首先查看本地yum源

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# cat ./CentOS-Base.repo

可以发现yum地址默认是centos的官网镜像yum,服务器在外网,因此下载速度慢。这里我们可以更换为阿里yum源镜像。

2、下载wget工具

这里先安装wget工具,后面会用到。

[root@localhost ~]# yum install -y wget

3、删除yum仓库中所有镜像

[root@localhost yum.repos.d]# rm -rf ./*

4、下载新的yum源

在阿里云官网找到CentOS的yum镜像地址

阿里云官网:

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)

找到CentOS7的yum下载链接。

运行这两条命令。

//下载Centos-Base.repo文件
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
//生成缓存
[root@localhost ~]# yum makecache

这样yum镜像已经默认更改为阿里yum源了。

二、下载MySQL数据库

上面设置好yum源之后,接下来开始安装mysql数据库,这里以mysql-8.0为例

1、下载mysql80-community-server.rpm包

通过下面的命令可以查看,目前还不能安装mysql服务。

[root@localhost ~]# yum install mysql-community-server -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
没有可用软件包 mysql-community-server。
错误:无须任何处理

所以我们还需要下载mysql服务的rpm包。

[root@localhost ~]# yum localinstall -y https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

2、解决“公钥尚未安装”问题

下载好mysql服务的rpm包之后,再次安装发现有些依赖包安装时会出现“公钥尚未安装”的问题。

[root@localhost ~]# yum install mysql-community-server -y

a、检查出错的包的签名

[root@localhost ~]# rpm --checksig /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm 
[root@localhost ~]# rpm --checksig /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-common-8.0.33-1.el7.x86_64.rpm 

检查结果可以发现包的格式是错误的。这里出错的原因暂不清楚,rpm和yum工具理论上可以直接安装二进制包(后缀为.rpm),所有我猜测可能是因为这两个包的格式被更改过,希望有懂的大佬可以指正一下。

b、执行指令

[root@localhost ~]# gpg --export -a 3a79bd29 >3a79bd29.asc
[root@localhost ~]# rpm --import 3a79bd29.asc
[root@localhost ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

c、再次验证

这时候发现rpm包可以使用了。

3、再次安装mysql-community-server

[root@localhost ~]# yum install mysql-community-server -y

再次安装后发现没有报错,安装成功。

三、启动MySQL服务,修改密码

1、查看并启动mysql服务

//首次安装服务并没有启动,通过下面指令启动服务。
[root@localhost ~]# systemctl status mysqld.service

//启动服务
[root@localhost ~]# systemctl start mysqld.service
//再次查看,mysql服务已经启动成功了

2、获取临时密码并修改

查看mysql日志文件 /var/log/mysqld.log获取临时密码。

[root@localhost ~]# cat /var/log/mysqld.log

temporary password…那一行就是我们需要的临时密码。

3、连接mysql

[root@localhost ~]# mysql -u root -p.SFwqu-lK8au

通过输入临时密码,我们就可以连接到数据库了(密码最好复制粘贴,避免出错)。

注意:密码不包括”.”前面的空格(试了很多次都出错了,泪的教训)

4、修改密码以及安全等级策略

连接到数据库之后,我们发现并不能对数据库进行一些基本操作,提示需要修改密码。

这里我们先修改为一个简单一点的密码。

mysql>alter user user()  identified by '123456';

可以发现提示密码不符合安全策略,这是因为我们设置的密码复杂度不够,我们再设置一个复杂一点的密码。

mysql>alter user user()  identified by 'Hello_mysql2022';

修改完成之后,可以看到已经可以正常访问数据库了。

如果想更改密码安全等级策略低一些,可以通过以下指令进行修改。

mysql>set global validate_password.policy=0;
mysql>set global validate_password.length=1;

现在可以将密码更改为更简单了。

四、远程连接

做完以上工作后,我们就可以开始测试远程访问数据库了。

1、首先划分环境

mysql服务器是安装在linux虚拟机上的,我们要通过宿主机模拟客户端去访问。

需要设置宿主机的vnet8网卡 ip与虚拟机的网卡ip处于同一网段。

宿主机:172.16.24.1

虚拟机:172.16.24.77

2、测试连通性

在宿主机上ping通虚拟机(不需要虚拟机ping通宿主机,由于我们宿主机一般都会开启防火墙,所以ping不通也很正常)

3、开放端口

通过命令开放3306号端口,提供远程连接。

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success

重新加载mysql服务。

[root@localhost ~]# firewall-cmd --reload
success

再次进入mysql数据库进行配置。

[root@localhost ~]# mysql -uroot -p123456
mysql> use mysql;
mysql> update user set host='%' where host='localhost';
mysql> flush privileges;

显示Query OK则说明配置完成。

退出数据库,再次访问。

[root@localhost ~]# mysql -h172.16.24.77 -uroot -P3306 -p123456

成功进入则说明远程访问成功了。

4、在宿主机上进行远程连接

方法一:通过dos终端访问

按住win+R键,运行cmd指令进入终端

通过


mysql -h主机号 -P端口号 -u用户名 -p用户密码


进行连接,结果显示以及连接上虚拟机的数据库了。

方法二:通过图形用户软件来连接,这里以Navicat为例

打开Navicat软件 点击连接–>选择MySQL

输入信息

创建一个数据库和表,添加信息

再返回虚拟机上查看表的信息。

远程访问成功。

以上就是CentOS7下安装mysql8.0以及远程访问的过程,如有遗漏或错误,望各位能够指正。



版权声明:本文为m0_54962426原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。