MySQL 是目前最流行的开源数据库。如果你想选择一个适用于你应用程序,并且学习资料丰富,易于使用的数据库,那么 MySQL 必定会是选择之一。

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

本文将着重介绍 MySQL 8 服务器的安装,以及安装、升级过程中的注意事项。

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

下载 MySQL 8

 

MySQL 8 下载站点 。

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

安装 MySQL 8

 

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

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

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

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

l   MySQL 至少最新版,可能无法在给定的 Linux 发行版的默认软件资源库中使用。例如,在 Fedora Linux 上,您可能需要手动向包管理系统添加 MySQL 存储库,然后从该存储库安装。

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

MySQL 也可用作 Docker 映像。通过向容器传递命令行标记,可以更改 MySQL 中许多最常见的选项。如果需要更细粒度的控制,可以创建自定义配置文件并将其传递给容器。 ( 如果您是 Docker 专家,可以通过添加层来进一步定制容器映像。 )

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

从以前的版本升级到 MySQL 8

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

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

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

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

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

配置 MySQL 8

 

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

编辑 MySQL 8 配置文件

 

MySQL 8 的 Microsoft Windows 和 MacOS 图形安装程序会自动选择合理的默认值,让用户了解最重要的选项。这些选择记录在 MySQL 使用的配置文件中。此外, linux 用户还会有一个基本的配置文件 , 其中有一些自动生成的默认值 , 尽管在 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 配置文件变得更加困难,比如,不小心插入一个不属于它的 linebreak 。

最初, MySQL Workbench 没有用特定的 MySQL 连接注册的选项文件。要添加选项文件,请执行以下步骤 :

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

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

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

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

设置 MySQL 8 的 root 密码

 

如果说 MySQL 设置中有需要的注意事项,那么从一开始就为服务器设置 root 密码,以减少不必要的安全隐患。

MySQL 8 的 Windows 和 MacOS 安装程序在安装过程中会提示用户输入 root 密码,一些用于 MySQL 8 的 Linux 安装程序,比如 Ubuntu 的基于 apt-get 安装,允许用户提供 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 身份验证!

解决方法:

l   下载 MySQL Workbench 的开发版本 。 这完全取决于是否为你的操作系统构建了开发版本,但大多数 Linux 似乎都有最新开发的二进制版本,这通常是最简单的路径。

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

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

主要 MySQL 8 配置选项

MySQL 8 绝大多数的选项都不需要预先设置。一些如上面提到的客户端安全协议,应该尽早决定,是使用 GUI 安装向导还是手工编辑配置文件。以下是其他几个:。

其他 MySQL 用户

 

如果可能的话,尽量不要使用 root 账户来连接使用 MySQL 的应用程序。创建一个只有在该应用程序需要的数据库上具有完全权限的帐户。 MySQL Workbench 应用程序只需要几次单击就可以实现这一点。

MySQL 连接协议

 

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

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

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

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

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

MySQL 日志选项

 

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

l   General 。这提供了 MySQL 从启动到关闭的详细运行摘要。

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

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

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

MySQL 迁移和安装提示

 

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

l   对数据进行完全备份。

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

a)          导出并重新导入数据。

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

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

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

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

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31542119/viewspace-2157800/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31542119/viewspace-2157800/

教程:MySQL 8安装与配置及注意事项相关推荐

  1. mysql网络安装教程_详细教程--MySQL的安装与配置

    免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...

  2. c mysql安装教程 pdf_MySQL下载安装、配置与使用教程详细版(win7x64)

    用过MySQL之后,不论容量的话,发现比其他两个(sql server .oracle)好用的多,一下子就喜欢上了.下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤. 我这个写得有点太详细了,甚至有 ...

  3. MySQL免安装版配置部署详细教程

    MySQL免安装版配置部署详细教程 这里写目录标题 MySQL免安装版配置部署详细教程 部署MySQL免安装版(windows版) 1.windows的mysql配置文件是my.ini,将此文件放到m ...

  4. MySQL教程(三)—— MySQL的安装与配置

    1  安装MySQL 打开附件中的文件(分别对应电脑系统为32/64位). 点next. 三个选项,分别对应典型安装.自定义安装和完全安装,在此选择典型安装(初学者). 点install. 广告,忽略 ...

  5. MySQL的安装与配置——详细教程 这是原地址https://www.cnblogs.com/winton-nfs/p/11524007.html

    免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...

  6. PHP开发环境MySQL下载安装及配置流程

    PHP开发环境&MySQL下载安装及配置流程 因工作需要,从0开始学PHP,前几天看完视频教程后开始搞开发环境,到今天才好.这里把安装配置流程梳理一下分享出来. 一.概述 要搭建一个开发环境无 ...

  7. 聊聊我的成长--数据库初学过程--MySQL的安装与配置

    写在前面 青山万岱,胸怀壮志凌云上. 碧水一潭,心有书情翰墨间. 或许你和我一样曾身处堕落与不甘,曾经有许多的遗憾没有完成,有许多的梦想没有实现,不过没有关系,这是我第一次写博客,我会梳理思路,面对经 ...

  8. 《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》一一第 1 章  MySQL的安装与配置...

    第 1 章 MySQL的安装与配置 深入浅出MySQL:数据库开发.优化与管理维护(第2版) 近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应 ...

  9. MySQL的安装与配置--windows下安装

    转自:https://www.cnblogs.com/winton-nfs/p/11524007.html 免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问 ...

最新文章

  1. SQL Server 2008空间数据应用系列三:SQL Server 2008空间数据类型
  2. c语言绘制路面图形代码,道路纵断面绘图程序的开发.pdf
  3. ubuntu shell简介
  4. numpy_basic
  5. 为什么有人宁愿每年买一部千元机,也不愿一次买部高端机?
  6. 纯css解决div隐藏浏览器原生滚动条,但保留鼠标滚动效果的问题
  7. 3D旋转(CSS3)
  8. [转]Android ANR 分析解决方法
  9. AlphaGo Zero,造神还是开启潘多拉魔盒?【附论文下载】
  10. python依赖包安装
  11. java ITEXT实现PDF生成二维码和条形码
  12. 杭州电子科技大学ACM-1093
  13. WordPress和October
  14. vue 详情页标记 评论 详情 等注意事项
  15. java实现登陆验证码
  16. 无人超市信息管理系统——需求分析
  17. java基于ssm的自助旅游管理系统
  18. qq批量登录软件_把微信PC版越甩越远:QQ电脑版这些新功能太良心
  19. NEB方法计算离子扩散路径和能垒(过渡态的计算)
  20. 【UVM基础】TLM常用数据接发送与数据接收实例

热门文章

  1. 家轿进化史|谁说家用与运动,不可兼得?
  2. 程序员就该加班?5点半下班的程序员什么感觉
  3. [转]linux grep命令的使用
  4. 漫画:互联网人的十二时辰,程序员最惨!
  5. Unquotted string 错误
  6. Halcon图像读取的方式
  7. J2SE5.0新特性之范型编程
  8. 大数据毕设 - 校园卡数据分析与可视化(python 大数据)
  9. 七巧板复原算法之小结局——给出一个最大结果集
  10. 90后电子工程师暴力拆解“华强北版AirPods”