2.0 环境搭建



一、本章内容

本章,介绍如何搭建学习环境:

  • 搭建CentOS 7操作系统
  • 安装MySQL 5.7
  • 配置MySQL 5.7

二、搭建CentOS 7操作系统

2.1 先安装VMware Workstation 虚拟机

如果没有Linux服务器,或没有没有Linux电脑,应该先搭一个Linux操作系统,比如CentOS7。

那么,如何在Window操作系统中,安装CentOS 这个Linux操作系统呢?一台电脑两者能同时运行吗?

通过VMware Workstation 虚拟机,在Windows操作系统上,模拟出一台(或多台)独立的全新的电脑,来安装CentOS 。这样,两者就在“不同的电脑”上运行了。

具体的

  • 先安装VMware Workstation 虚拟机
  • 再安装CentOS 7 操作系统

的步骤,见《20.1 Linux基础 》。

注意:

之前的是直接在自己window系统中,安装的官网MySQL的windows版本。

2.2 再在虚拟机中安装CentOS 7操作系统

虚拟机的安装跟之前一样。但是本次CentOS 7操作系统的安装,跟之前就不太一样。

所以,把步骤记录如下:

1.初步安装

点自定义:

下一步:

点击“稍后安装操作系统”:

下一步:

起个名字:

imooc:只是虚拟机的名称,方便区分不同的虚拟机

root:CentOS 7操作系统的账户名、密码

下一步:

下一步:

网络直接使用NAT即可,可以保证虚拟机之间相通,是在一个局域网里面的。

宿主机(即windows系统)是当作虚拟机的网关。比如:虚拟机访问外网时,也可以通过宿主机访问出去。

下一步:

下一步:

点击完成即可:

2.插入下载的镜像

因为之前没有插入下载的镜像,所以这里点击下面的CD/DVD:

选择之前的CentOS7的镜像文件:

接下来,是图形化界面的安装:很简单,可以参考之前的《20.1 Linux基础》。

(这里的图形化界面安装里,其中会让你设置一个CentOS 7系统的用户名、密码,我的是root、root)

综上所述,CentOS 7操作系统,在虚拟机中已经安装成功。

2.3 通过本地Xshell远程连接工具,建立与远程CentOS 7系统的连接

1.工具选择

上述CentOS 7操作系统在虚拟机中安装完后,老师用的顺手的远程操作工具是:Moba

但是,我使用的是:(很多人也使用)

因为这个是之前就已经使用过了:

具体使用Xshell建立与远程CentOS系统的连接,见《20.1 Linux基础 》

2.进入虚拟机,拿到虚拟主机的IP地址

获取上述虚拟主机的IP地址:

应用程序|终端,进入终端的命令行:

192.168.199.132

(最新的是192.168.199.133

这个命令,也行:

3.在本地Xshell中,建立会话,成功连接

成功的使用Xshell,连接到了远端的Linux服务器:

使用root的账号、密码登录:

不是使用imooc:

三、安装MySQL软件

这里是,将MySQL安装在上节的Linux操作系统中。

以前,MySQL是安装在自己电脑Windows中,用cmd弄的。

3.1 找到官网及版本等信息

  • 下载的版本是社区版(即免费开源):
  • 虽然最新版是8,但是现在很多公司还在用5.6、5.7是最多的。所以,这里以5.7为主。
  • 最好去archives(即归档)中找:

可以下载到本地的windows宿主机上,也可以右键复制下载链接,在虚拟机里wget下来。这里采用后者:

Bundle

聚合,下面的都包含

拓展:Xcode事件

开发者最好去官网下载程序,避免在第三方平台,安全隐患。

3.2 右键复制下载链接,在虚拟机里wget下来

wget:下载下来

  • wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar

tar命令,解压

  • tar -xvf mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar

3.3 先装common,用rpm(CentOS自带的一个包管理工具)安装

  • rpm -ivh mysql-community-common-5.7.33-1.el7.x86_64.rpm

3.4 再装libs,就是一些库

尝试安装libs:

  • rpm -ivh mysql-community-libs-5.7.33-1.el7.x86_64.rpm

因为CentOS7操作系统会自带一个Mariadb的libs,所以会报错。需要将其卸掉:

  • rpm -qa | grep mariadb
  • rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

Mariadb:

是MySQL的一个分支,一个强分支。

卸载了Mariadb的libs后,尝试安装MySQL的libs:

因为签名校验原因,仍出错。此时直接强制安装即可。

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

3.5 安装client客户端

平时的MySQl命令,用的就是这个client客户端:

  • rpm -ivh mysql-community-client-5.7.33-1.el7.x86_64.rpm

3.6 安装server

也会因为签名校验原因,出错。此时直接强制安装即可。

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

3.7 安装成功

  • mysql
  • which mysql

四、配置MySQL软件

4.1 更改自己指定的用户名密码

1.

先去掉所有的校验密码,再进去改密码:(线上公网不要这样做,易被攻击)

  • 通过vim /etc/my.cnf打开配置文件
  • 在配置文件中,增加skip-grant-tables
  • 保存并退出:wq

2.

启动MySQL的服务;

  • systemctl start mysqld.service;

进入MySQL客户端;

客户端client,就相当于Windows上的Navicat,只不过这里是命令行形式的客户端:

  • mysql

注意:

下面之所以不能进入mysql客户端,是因为之前的配置文件没能生效。

解决:重启虚拟机。

3.

因为此时,是没有任何校验的时候连接上MySQL客户端的,不安全,所以此时在已进入MySQL客户端后,设置一个自己的密码:

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

以上,就将一个默认的随机密码,改成自己指定的密码了。

4.

退出MySQL客户端:exit

关闭mysql的服务:systemctl stop mysqld.service;

然后将之前的不校验配置,注释掉:vim /etc/my.cnf

然后,通过之前自己设置的用户名、密码进行登录:mysql -uroot -p123456

注意:

如果想将MySQL服务开机启动,可以:

systemctl enable mysqld.service

即注册上去了。

4.2 更改密码复杂程度、最短长度:

1.

把密码校验的复杂程度,改为low:方便自己开发,可以使用123456.(线上不要这么做)

  • set global validate_password_policy=LOW;

设置密码的有效最短长度:

  • set global validate_password_length=4;

设置密码:

  • set password=password('123456');

2.

显示MySQL当前工作的状态,比如事务、性能等:

  • show status;

以上,mysql的就已经启动好了。

4.3 让宿主机的Navicat(本地局域网),能远程连接MySQL

1.问题

以上,是在虚拟机的里面,即CentOS操作系统里,使用MySQL。

那么,如果,想在宿主机上,即虚拟机的外面,连接里面CentOS系统的mysql server。这会连接不上:

2.原因及解决

这是因为CentOS操作系统是有防火墙的,上述的3306端口没有开放。

所以,先退出MySQL数据库,再将CentOS操作系统的3306端口永久打开即可:

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

将防火墙重启生效:

  • firewall-cmd --reload

3.原因及解决

另外,一个原因是MySQL的账号密码没有远程登陆的权限,只能本地登录。

开启远程登录,MySQL的:

  • mysql -uroot -p123456-------------- 进入MySQL
  • grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;----------------- 开启远程登录的权限

4.远程连接成功

打开宿主机的Navicat:

远程连接成功

以上,虚拟机就开放了一个MySQL服务,在本地的局域网里。

不管是在别的虚拟机,还是Windows的宿主机上,都可以用上述用户名密码来登录MySQL。

声明:Jerry's Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 2.0 环境搭建


Follow excellence, and success will chase you.