mysql 开源入门_入门教程:安装配置新版MySQL 8开源数据库

原标题:入门教程:安装配置新版MySQL 8开源数据库

[ 来自IT168]

【IT168 技术】MySQL是现代应用程序编程堆栈中常见的数据库管理系统。如果您想要一个适用于您应用程序的,便于利用丰富的社区知识和经验的,并且易于理解和使用的,那么MySQL必将成为一个默认的选择。

MySQL的最新版本MySQL 8已成功发布,官方表示MySQL 8要比MySQL 5.7快两倍,还带来了大量的改进和更快的性能,同时也解决了很多之前MySQL长期存在的问题。

本文将介绍启动标准MySQL 8服务器安装所需的基本步骤,以及安装、升级等过程中的注意事项。

【注意】本文主要关注MySQL 8社区开源版本,而非企业版。企业版具有更多高级功能,仅提供给具有商业许可证的企业。

下载MySQL 8

Oracle为MySQL 8设置了自己的下载站点。

【注意】每个操作系统的下载都存储在不同的页面上,您需要从“Select Operating System”下拉菜单中选择操作系统。否则,该网站将默认浏览器检测到的操作系统提供下载。

安装MySQL 8

设置MySQL的过程因目标操作系统的不同而异。

Microsoft Windows和MacOS用户可以下载并运行基于GUI的安装程序。这将引导用户完成设置过程,并为常见配置选项提供默认值。

Linux用户可以下载Oracle提供的通用二进制文件,也可以通过Linux发行版的软件包管理系统安装MySQL。

在Linux上安装MySQL时的注意事项:

对于给定的Linux发行版,MySQL最新版在默认软件储存库中可能不可用。比如,在Fedora Linux上,您可能需要手动将MySQL存储库添加到包管理系统,然后从该存储库进行安装。

除非您完全卸载以前的版本,否则您无法从使用通用Linux二进制文件切换到发行版软件包管理器提供的版本。(反过来也是如此。)最好的办法是尽可能使用相同的分配路径,来保持一致性。

MySQL也可以作为Docker镜像使用。 可以通过将command-line flags传递给容器来更改MySQL中常见的选项。 如果需要更精细的控制,可以创建自定义配置文件并将其传递给容器。(如果你是Ducker maven,可以通过添加图层进一步自定义容器图像。)

Oracle为许多平台提供的另一个选项是没有安装程序通用二进制存档的,这必须手动设置,主要通过创建和编辑其配置文件。这样以后可以轻松删除整个内容,只需删除二进制文件及其支持文件即可。

从以前的版本升级到MySQL 8

如果您想从以前版本的MySQL升级到MySQL 8,可以选择处理升级的两种常规策略。

【注意】仅支持从MySQL 7的GA版本(最好是最新的GA版本)升级。 非GA版本的MySQL 7及早期版本的MySQL(例如MySQL 6)的升级不能保证有效。

本地升级。 这涉及用MySQL 8二进制文件替换现有的MySQL 7二进制文件。

导出和重新导入。 MySQL的文档将此过程称为“logical upgrade.”。这可以使用mysqldump或mysqlpump实用程序执行。

在任何一种情况下,都应确保要升级的数据库没有延迟兼容性问题。 同时还要关注您正在运行平台的升级方法,因为Windows或MacOS系统的升级过程是跟Linux进程不一样的。

配置MySQL 8

MySQL有很多的配置选项,但是在安装或升级过程的初始阶段很多是不需要的。

编辑MySQL 8配置文件

MySQL 8的图形安装程序Microsoft Windows和MacOS会引导用户配置最合适的选项,并自动选择合理的默认值。 这些选择记录在MySQL使用的配置文件中。 此外,Linux用户还将拥有一个带有一些自动生成默认值的基本配置文件。

要找出MySQL配置文件的位置,先从shell运行mysql -help,然后查找“Default options are read from the following files in the given order.”的行。配置文件及其位置将在此处列出。

如果MySQL配置文件中所有选项的默认值都没有列在配置文件里,您可以在文件的文档中寻找。

一个好的方法是使用MySQL安装中包含的MySQL Workbench应用程序来编辑选项文件。 MySQL Workbench提供了一个选项卡式GUI,列出了文件中的每个可能设置以及每个设置的功能描述。一些意外情况也会使 MySQL Workbench加剧配置文件的难度,比如,意外插入不属于它的换行符。

起初,MySQL Workbench没有使用特定MySQL连接注册的选项文件。 想要添加选项文件,请按照下列步骤操作:

在MySQL Workbench主页中,右键单击为其添加选项文件的实例连接,然后选择“Edit Connection.”。

在系统配置文件选项卡下,在“Configuration File”行中填写选项文件的完整路径。

单击“Test Connection”进行测试,确保一切正常。

当您下次打开该连接时,可以通过“Instance | Options File.”的方式从左侧树状菜单编辑选项文件设置。

设置MySQL 8的root密码

如果MySQL设置的某一部分需要特殊加密,它会从一开始就为服务器设置root密码,以减少不必要的麻烦。

MySQL 8的安装程序Windows和MacOS在安装过程中会提示用户输入root密码,一些用于MySQL 8的Linux安装程序,比如apt-get的 Ubuntu安装,允许用户提供root MySQL密码。

在其他情况下,比如使用Fedora的yum或dnf安装程序时,root密码会随机设置并在MySQL的错误日志中回显。这时可以使用命令sudo grep ‘temporary password’ /var/log/mysqld.log. 显示它。 但该密码应尽快更改并且一定要尽可能复杂

使用MySQL 8的新身份验证方法

如果你想在Linux上使用MySQL Workbench,那么你需要注意MySQL 8中的另一个配置选项。

安装MySQL 8时,您将看到新的SHA-256密码身份验证方法的选项。 此方法比传统的“native password”方法安全得多,因此建议将其作为新安装的默认方法。

但是,新方法的主要缺点是与最新版本的MySQL客户端软件(尤其是MySQL Workbench)不兼容。

【注意】客户端软件的最新版本无法由默认安装路径安装所有Linux版本。也就是说,如果您从该操作系统的MySQL存储库安装一个全新的MySQL 8,比如Ubuntu 18.04,那么MySQL Workbench的附带副本将不支持SHA-256身份验证!

解决方法:

下载MySQL Workbench的开发版本。 这将决定是否为您的操作系统构建开发版本,但大多数Linux似乎都具有最新开发的二进制版本,这通常是最简单的路径。

如果您只允许从localhost连接到MySQL,则可以避免使用SHA-256身份验证,并且不会因安全性而损失太多。这不一定是你的永久解决方案,您可以使用旧连接协议,直到获得系统最新版本的客户端软件,然后更改为新的身份验证方法。但这意味着您必须更改MySQL配置文件中的身份验证方法,并更改MySQL用户帐户以匹配。

从头开始构建客户端软件。这是最费力的解决方法,建议那些没有其他选择的人选用。

主要MySQL 8配置选项

MySQL 8绝大多数的选项不需要设置在门外。 除了使用GUI安装向导或手动编辑配置文件之外,应尽早确定(如上述客户端安全协议)。 以下是其他几个:。

其他MySQL用户

尽量不要使用root帐户用MySQL的应用程序进行连接。 创建一个仅对该应用程序所需的数据库具有完全权限的账户。 MySQL Workbench应用程序只需点击几下即可实现。

MySQL连接协议

MySQL 8可以通过多种方式接受到服务器的传入连接:

TCP/ IP。这是连接到MySQL实例最广泛的方式,它允许本地和远程连接。 它也是总体上最慢的,因为流量必须通过整个TCP / IP堆栈,但这通常只存在在极端性能的情况下。对于需要远程客户端连接的情况来说,无论如何TCP / IP都是一个简单的方式。 但是同时也需要密切关注连接的安全性。

Unix sockets/named pipes。这些是Unix / Linux和Windows中两个大致相同的功能。 当客户端或应用程序和服务器位于同一系统上时,Sockets和pipes 最佳,因为数据可以更快地在客户端和服务器之间传输,也可以通过网络发布这样的连接,但这样做很麻烦,这种情况下,你最好只使用TCP / IP。

共享内存。 这是服务器和客户端之间最快的连接选项,但也是最不灵活的。 它仅在服务器和客户端位于同一物理系统上时才有效,并且服务器可能难以检测客户端是否已超时或被杀死,从而导致未终止的连接累积并浪费资源。

【注意】在Unix系统上,为了提高性能,localhost的任何连接都默认使用Unix sockets。

MySQL日志选项

除了一般的错误日志之外,MySQL还可以维护其他三种日志,这些日志在默认情况下全部禁用,但在配置过程中可以根据需要启用调试。

总括。这提供了MySQL从启动到关闭活动的详细运行摘要。

慢查询。可以记录任何执行时间超过x秒(数量可配置)的查询以进行调试。

BINLOG。“二进制日志”的缩写,可以将此日志配置为包含对数据库文件的所有修改的二进制转储。显而易见,这会对性能产生重大影响,所以除非尝试调试真正棘手的问题,否则不应启用它。

默认情况下,日志不会自动清除,因此必须通过mysql-log-rotate脚本定期删除。 Binlogs是一个例外,默认情况下会在30天后过期。

MySQL迁移和安装提示

如果您要将现有的MySQL数据库迁移到MySQL 8.0,那么规则很简单:

对数据进行完全备份——而不是增量副本,完全转储。

仅使用MySQL 5.7中的数据库进行本地迁移。否则,您有两种选择:

导出并重新导入数据。

将现有MySQL实例升级到5.7,然后进行本地升级。

在MySQL 8.0中创建新数据库时的注意事项:

将InnoDB用于所有新表。 InnoDB现在是MySQL中新创建表的默认选择。为什么呢?因为有一段时间,传统的MyISAM存储引擎比新的InnoDB有一些优势,尤其是全文索引。但在这一点上,使用MySQL 8.0,InnoDB具有全文支持,除了行级锁定,事务交易,崩溃恢复,外键约束以及许多其他功能数据库之外,还有许多其他功能不应该放弃。

使用utf8mb4字符集,但要研究使用的排序规则。 MySQL 8现在支持utf8mb4字符集 (UTF-8的一种实现),每个字符最多可存储四个字节,以实现与Unicode最广泛的兼容性。新数据库默认情况下会选择utf8mb4,选择其他内容则毫无意义。与此同时,您使用的排序规则要遵循应用程序的需求。默认情况下,MySQL 8使用通用的utf8mb4_0900_ai_ci排序规则,但排序规则不区分重音和大小写; 为此,可以改用utf8mb4_0900_as_cs。 如果您的大多数工作都是使用特定语言完成的,您或许会想要更具特定语言的排序规则。

简而言之,在大多数情况下,默认值通常都是最佳选择,但您仍需要了解实际用例去处理特定语言的问题。返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值