第2章 搭建环境

一. MySQL

1-1MySQL下载

①进入MySQL官网https://www.mysql.com/,进入downloads页面,找到如下入口进入社区版下载页面:

②选择MySQL Community Server标签并进入

③先点击Archives标签进入可选择版本的页面,选择MySQL版本为5.7.33,操作系统为Red Hat Enterprise Linux/Oracle Linux(CentOS):

④复制下载集合包的连接,到Linux上使用wget命令进行下载:

1-2MySQL安装

①使用tar -xvf 命令解压压缩包:

②使用rpm工具装common包

③使用rpm工具安装lib依赖包

如果出现 mariadb-libs is obsoleted by mysql-community-libs-5.7.33-1.el7.x86_64的error,说明本地已经有了mariadb,可尝试删除mariadb的lib。

rpm -qa | grep mariadb

如果有mariadb-libs-***类似的内容,则给它卸载掉:

rpm -e --nodeps mariadb-libs-***

如果卸载掉以后mysql-community-libs-5.7.33-1.el7.x86_64还是安装不上,可尝试用--force强制安装:

rpm -ivh --force --nodeps mysql-community-libs-5.7.33-1.el7.x86_64.rpm

④安装MySQL Client

⑤安装MySQL Server

报错显示需要perl包,使用yum install perl安装所需包。

然后安装成功,如果还是安装失败,可尝试使用--force安装。

⑥查看MySQL安装在哪里的

1-3运行MySQL

如果直接启动MySQL,会生成一个默认的root密码,需要看log才知道默认的root密码(grep "password" /var/log/mysqld.log)。另一种启动方式是:先修改 my.conf 使MySQL在启动时跳过密码校验,待MySQL启动后再进入修改密码。在这里使用第二种方式(但在线上或者生成环境一定不要使用这种方式,因为在跳过密码校验的阶段容易被攻击)。

①修改MySQL的配置文件 /etc/my.cnf,跳过密码校验。

②启动MySQL的服务

注意:mysqld.service才是MySQL Server

systemctl start mysqld.service

③使用MySQL客户端连接MySQL Server

因为无校验,可以直接连上。

④设置root密码

update mysql.user set authentication_string=password('123456') where user='root';

设置后需刷新

flush privileges;

退出客户端,重启mysqld.service

  • systemctl stop mysqld.service 命令停止mysqld.service;
  • 修改 /etc/my.cnf,使用#注释掉跳过密码校验的设置 skip-grant-tables;
  • systemctl start mysqld.service 命令启动mysqld.service。

设置低级别密码验证策略(在创建用户或者修改密码时对密码的强度进行验证),方便开发时使用(在生产环境一定要使用强密码验证):

-- 密码策略验证设为LOW表明只验证密码的长度
set global validate_password_policy=LOW;
-- 密码长度验证设为4表明密码的长度需大于等于4位(4是可设置的最小值了)
set global validate_password_length=4;
-- 再更新一下密码(更新的是登录用户的密码,当前是root)
set password=password('123456');

④使用Windows系统的Navicat连接MySQL Server

直接连接,发现连接不了。

查看CentOS服务器防火墙状态:

systemctl status firewalld

既然防火墙都没开,那说明和防火墙没关系。

开启MySQL的远程登录:

-- 在MySQL的客户端中运行
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

这表明使用root这个用户,123456这个密码可以从远程登录,否则就只能在服务器本地登录。

⑤安装并开启防火墙

使用yum install firewalld firewall-config安装防火墙。

开启防火墙:

打开3306端口:

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

重启防火墙:

systemctl restart firewalld.service

 

posted @ 2022-11-22 10:23  certainTao  阅读(48)  评论(0)    收藏  举报