- MySQL 8.0从入门到实战
- 张文亮编著
- 4355字
- 2024-12-27 21:25:52
1.2 MySQL 8安装和配置
1.2.1 安装版本的选择
在安装MySQL时,应选择自己所需的版本和相应的文件格式。MySQL有开发版本和通用版本。开发版本具有最新功能,但不建议用于生产用途。通用版本可用于生产用途,因此建议安装最新的版本。
MySQL 8.0的版本号由三个数字和一个可选后缀组成,例如MySQL-8.0.3.[x],x可选,如果有,则会随着版本的发布而自增。版本号中的数字解释如下:
· 第一个数字(8)是主版本号。
· 第二个数字(0)是次版本号。主、次版本号一起构成发布的序列号,序列号表示包含稳定的功能集。
· 第三个数字(3)是发布系列中的版本号。每个新的错误修订版的版本号中都会增加此值。一般情况下建议安装最新的版本。
1.2.2 在Windows平台下安装和配置MySQL
MySQL只能安装在Microsoft Windows 64位操作系统中,如果想要安装MySQL 8.0 Server(服务器版),那么还需要在系统中安装Microsoft Visual C++ 2015 Redistributable Package和Microsoft .NET Framework 4.5.2或更高版本。在安装服务器版本之前,应确保在本地系统中已下载好软件安装包。下面将演示在Windows系统中安装MySQL数据库的两种方式。
1.MySQL Installer(利用安装程序安装)
进入MySQL官网下载相关安装包,如图1-1所示。第一个安装包用于在线安装,在网络畅通的情况下,可以选用这种安装方式。第二个是可以离线安装的软件包,一般建议采用这种安装方式。
图1-1 下载安装包
首次下载MySQL安装程序时,安装向导会引导我们完成MySQL产品的初始安装。首次安装需要进行初始设置,MySQL安装程序在初始设置期间会检测主机上安装的现有MySQL产品,并将它们添加到要管理的产品列表中。如图1-2所示,当我们打开MSI文件之后,会提示我们选择安装的类型。
图1-2 选择安装的类型
如图1-2所示,总共有5种安装类型。
①Developer Default(默认安装):用于MySQL应用程序的开发。如果我们想要利用MySQL来进行应用程序的开发,可以选择此安装类型。
②Server only(仅安装服务器):仅安装MySQL服务器。此安装类型在下载MySQL服务器安装包时会让用户选择安装GA版(一般可用性,即稳定版)或开发版。该安装类型使用默认的安装路径和数据存储路径。
③Client only(仅安装客户端):仅安装最新的MySQL应用程序和MySQL连接器。此安装类型类似于默认安装类型,不同之处在于它不包括MySQL服务器或通常与服务器捆绑的客户端程序,例如mysql或mysqladmin。
④Full(完整):安装所有可用的MySQL产品。如果是初学者,那么可以选择此安装类型。
⑤Custom(自定义):此安装类型可以从MySQL安装程序目录中筛选想安装的各个MySQL产品。
选择好想要的安装类型,单击Next按钮,就会进入安装需求检查对话框,如图1-3所示。
图1-3 安装需求检查对话框
在安装需求检查对话框中包括如下内容:
①显示初始设置中的当前步骤。读者在此列表中看到的步骤可能会略有不同,具体步骤取决于主机上已安装的产品、必备软件的可用性以及读者想要安装在主机上的产品。
②按产品列出所有待确认的安装需求。
③安装需求的详细说明可以帮助我们解决安装前需要解决的问题。如果需要安装必备的软件,则该界面会提供下载用的网址(URL)。在下载并安装所需的软件后,单击Check按钮来验证是否已经满足安装需求。
④提供以下辅助安装的操作:
· Back:返回上一步。此操作可以让我们回到上一步重新选择安装类型。
· Execute:让MySQL安装程序尝试为所有选择的安装项目下载和安装必备的软件。
· Next:不进行安装需求检查而继续安装产品,其中不包括未通过安装需求检查的产品。
· Cancel:取消安装MySQL产品。
MySQL网络和身份认证配置,如图1-4所示。
图1-4 MySQL网络配置
在该对话框中有以下选项:
①选择需要配置的服务类型。
②默认的服务端口号,①和②这两个配置可以不做修改。
③建议勾选Show Advanced and Logging Options复选框,以便在后续步骤中设置自定义日志记录和高级选项。
继续往下执行,会出现设置密码的对话框,如图1-5所示。
图1-5 账户密码设置
该对话框包含以下内容:
①给服务设置密码。
②重复输入一次以确认密码,应当确保这两次输入的密码一致。
MySQL服务名称设置,如图1-6所示。
图1-6 MySQL服务名称设置
在该对话框中输入MySQL服务的名称,建议使用默认值。
设置MySQL服务相关的输出日志存储的路径,如图1-7所示。
图1-7 设置MySQL服务输出日志存储的路径
在该对话框中包含以下内容:
①设置MySQL服务的错误日志输出路径。
②设置一般的日志输出路径。
③设置查询日志的输出路径。
④设置二进制日志的输出路径。
验证是否安装成功。如图1-8所示,按住键盘上的Windows键,选择“运行”,然后在弹出的对话框中输入services.msc,并按回车键。
图1-8 进入“运行”对话框
接下来会出现如图1-9所示的服务窗口。如果可以看到MySQL 8.0这个服务,就表示MySQL数据库安装成功。
图1-9 系统服务窗口
在服务成功启动之后,可以使用界面化工具Navicat连接数据库,当出现如图1-10所示的对话框时,输入主机名、端口号以及安装时设置的密码。在单击“测试连接”按钮之后,若出现连接成功的字样,则说明安装与配置都正确。
图1-10 通过界面化工具测试连接
2.在Windows上默认安装MySQL服务
表1-1所示是以默认安装类型安装MySQL服务后生成的相关目录,当我们需要查看相关信息或者数据日志时可能会用到。
表1-1 默认安装MySQL服务之后生成的相关目录
1.2.3 在Linux平台下安装和配置MySQL
使用MySQL Yum存储库安装最新的MySQL GA版本的步骤如下。
1.添加MySQL Yum存储库
要将MySQL Yum存储库添加到系统的存储库列表中,可以使用RPM命令来完成,具体步骤如下:
首先选择并下载适用于目标平台的安装包(发布包)。
我们可以查看目标系统的平台版本(操作系统版本序列号)。如图1-11所示,该平台的版本序列号为7。
图1-11 查看目标系统的操作系统版本序列号
然后下载工具wget,下载完成之后用下面的命令进行安装:
yum install wget -y
接着下载对应版本的RPM文件,因为目前的平台是7系列,所以选择安装7.3版本的RPM文件。执行如下命令进行下载:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
当出现如图1-12所示的界面时,说明下载成功。
图1-12 下载RPM包
2.安装下载的发布包
安装命令如下:
yum install platform-and-version-specific-package-name.rpm
需要注意的是,platform-and-version-specific-package-name为下载的RPM包的名称。而后执行如下命令:
yum install mysql80-community-release-el7-3.noarch.rpm -y
如果出现如图1-13所示的Complete说明,就表示发布包安装完成。
图1-13 发布包安装成功
如果使用的是其他系列的版本,那么可以根据实际情况选择安装相应的发布包。
对于基于EL6的系统,命令的形式为:
yum install mysql80-community-release-el6-{version-number}.noarch.rpm
对于基于EL7的系统,命令的形式为:
yum install mysql80-community-release-el7-{version-number}.noarch.rpm
对于基于EL8的系统,命令的形式为:
yum install mysql80-community-release-el8-{version-number}.noarch.rpm
对于Fedora 34,命令的形式为:
dnf install mysql80-community-release-fc34-{version-number}.noarch.rpm
对于Fedora 33,命令的形式为:
dnf install mysql80-community-release-fc33-{version-number}.noarch.rpm
3.安装MySQL
通过以下命令安装MySQL:
yum install mysql-community-server -y
这条命令将安装MySQL服务器包(mysql-community-server)以及运行该服务器所需组件的包,包括客户端包(mysql-community-client)、客户端和服务器的常见错误消息和字符集(mysql-community-common)以及共享客户端库(mysql-community-libs)。如果出现如图1-14所示的信息,就表示安装成功。
图1-14 安装MySQL
4.启动MySQL服务器
使用以下命令启动MySQL服务器:
systemctl start mysqld
使用以下命令检查MySQL服务器的状态:
systemctl status mysqld
查询服务的状态,显示running时表示服务已经启动,如图1-15所示。
图1-15 MySQL服务状态
需要注意的是,如果操作系统已启用systemd,则应使用标准systemctl(或service)命令(例如stop、start、status和restart)来管理MySQL服务器的服务。mysqld服务默认是启用的(在系统重新启动时启用了)。
5.登录MySQL
在安装MySQL服务时系统创建了一个超级用户账户(root)。超级用户的密码已设置并存储在错误日志文件中,如果我们想要知道密码,可以使用如下命令进行查询:
grep 'temporary password' /var/log/mysqld.log
如图1-16所示,最后输出的字符串就是想要查看的密码。
图1-16 想要查看的密码
我们使用生成的临时密码登录并为超级用户账户设置自定义密码,以便尽快更改root密码。首先执行下面的命令进行登录:
mysql -uroot -p
如图1-17所示,在登录过程中需要输入密码,可以输入之前查询到的密码进行登录。
图1-17 MySQL登录
然后执行如下命令修改密码:
alter user 'root'@'localhost' identified by 'NewPass';
在修改密码时注意密码要尽量复杂,需要包含数字、大小写字母和标记符号,否则系统会出现如图1-18所示的提示,提示密码修改出错。
图1-18 修改MySQL账户的密码
1.2.4 在Docker平台下安装和配置MySQL
Docker是一个用于开发、交付和运行应用程序的开放平台。Docker能够将应用程序与基础架构分开,从而快速交付软件。借助Docker,可以采用与管理应用程序相同的方式来管理基础架构。
Docker是当下热门的容器,为了省去Linux下安装配置程序烦琐且易于出错的步骤,笔者增加了本节内容,安装Docker环境后,就能在其下快速地安装Redis服务。
1.在CentOS下安装Docker
安装Docker的系统需求是必须具备一个CentOS 7或者CentOS 8的维护版本,不支持之前的旧版本。
1)卸载旧版本
较旧的Docker版本称为docker或docker-engine。如果安装过这些程序,请卸载它们及其相关的依赖项。
2)更新系统yum工具包
需要安装yum-utils软件包:
$ sudo yum install -y yum-utils
3)设置稳定的存储库(可选择其中一个)
可以根据自己的网络情况选择存储库地址,推荐使用阿里云和清华大学源,如果设置官方源,那么需要单独设置好网络才可以进行正常操作。
使用官方源地址:
$ sudo yum-config-manager \ --add-repo \ https:// download.docker.com/linux/centos/docker-ce.repo
使用阿里云:
$ sudo yum-config-manager \ --add-repo \ http:// mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
使用清华大学源:
$ sudo yum-config-manager \ --add-repo \ https:// mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
4)安装Docker Engine-Community
安装社区版Docker包:
$ sudo yum install docker-ce docker-ce-cli containerd.io
5)启动Docker
启动Docker很简单:
$ sudo systemctl start docker
6)验证是否正确安装
可以使用如下命令来验证Docker是否正确安装:
$ sudo docker run hello-world
2.在Windows 10下安装Docker
Docker Desktop是Docker在Windows 10和macOS操作系统上的官方安装方式,这种方式依然是先在虚拟机中安装Linux,再安装Docker。用户可以从网上搜索Docker Desktop的安装软件docker-ce-desktop-windows(此方法仅适用于Windows 10操作系统专业版、企业版、教育版和部分家庭版)。
1)安装Hyper-V虚拟机
Hyper-V是微软开发的虚拟机,类似于VMWare或VirtualBox,只是Hyper-V仅适用于Windows 10。这是Docker Desktop for Windows所使用的虚拟机(这个虚拟机一旦启用,VirtualBox、VMWare、Workstation 15及以下版本将无法使用。如果必须在计算机上使用其他虚拟机,则不要在Windows中启动Hyper-V)。
2)启动Hyper-V
启动Hyper-V的操作步骤如下:
在Windows中右击“开始”按钮,在弹出的快捷菜单中选择“应用和功能”命令,如图1-19所示。
打开“程序和功能”窗口,单击“启用或关闭Windows功能”链接,如图1-20所示。
图1-19 选择“应用和功能”命令
图1-20 “程序和功能”窗口
在打开的“Windows功能”对话框中勾选“Hyper-V”复选框,然后单击“确定”按钮,如图1-21所示。
图1-21 勾选“Hyper-V”复选框
3)安装Docker
接下来双击下载的安装Docker的EXE文件,在打开的对话框中单击Next按钮,最后单击Finish按钮完成安装。
安装完成后,Docker会自动启动,通知栏上会出现图标,表示Docker正在运行,然后按Win+R快捷键,在弹出的“运行”窗口中输入PowerShell。
用户还可以执行命令docker run hello-world来检查是否安装成功。
3.利用Docker安装MySQL
1)下载MySQL镜像
执行docker pull mysql/mysql-server:8.0下载MySQL镜像,如图1-22所示。
图1-22 下载镜像
2)启动MySQL服务
执行如下命令启动MySQL服务:
docker run --name=mysql1 --restart on-failure -d mysql/mysql-server:8.0
3)其他操作
删除容器的命令如下:
docker rm -f mysql1
停止容器的命令如下:
docker stop mysql1
4)查看启动的日志
查看启动日志的命令如下:
docker logs mysql1
查看MySQL服务的密码的命令如下:
docker logs mysql1 2>&1 | grep GENERATED
查询到的密码如图1-23所示。
图1-23 查询到的密码
5)登录MySQL服务
登录MySQL服务的命令如下:
docker exec -it mysql1 mysql -uroot -p
当系统询问时,输入生成的root密码。由于该MYSQL_ONETIME_PASSWORD选项默认为true,因此在将MySQL客户端连接到服务器后,必须通过以下语句来重置服务器root账户的密码:
alter user 'root'@'localhost' identified by 'password';
或者执行下面的命令进行安装:
docker run -p 3306:3306 --name mysql \ -v /root/mysql/log:/var/log/mysql \ -v /root/mysql/data:/var/lib/mysql \ -v /root/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql/mysql-server:8.0
以上命令挂载了服务的日志文件和lib文件,已经设置好了密码。需要注意的是,在执行这条命令之前,要在宿主机的/root/mysql/conf目录下创建my.cnf文件,这个文件是服务启动的配置文件,该配置文件至少应该有如下几行内容:
[mysqld] init_connect='set collation_connection = utf8_general_ci' init_connect='set names utf8' secure_file_priv=