https://i.cnblogs.com/EditPosts.aspx?opt=1

https://juejin.im/entry/5adb5deff265da0b9d77cb3b

MySQL Community Server 是一款免费的开源、流行和跨平台的数据库管理系统。 它支持 SQL 和 NoSQL,并具有「可插拔」的存储引擎架构。 此外,它还配备了针对不同编程语言的多个数据库连接器,让您可以使用任何流行的语言和许多其他功能开发应用程序。

它在文档存储、云计算、高可用性系统、物联网(IoT)、hadoop、大数据、数据仓库和 LAMP 或 LEMP 栈支持的大容量网站/应用方面都有许多用例。

在本文中,系统极客将向大家介绍如何在 Ubuntu 18.04 系统中全新安装 MySQL 8 数据库系统。

MySQL 8.0中的增强功能

  • 支持 Atomic DDL 语句
  • 增强安全性和账户管理
  • 改进资源管理
  • InnoDB 的一些增强功能
  • 新的备份锁
  • 默认字符集已从 latin1 更改为 utf8mb4
  • JSON增强
  • 使用 Unicode 的国际组件(ICU)提供正则表达式支持
  • 新的错误日志记录现在使用 MySQL 组件体系结构
  • MySQL 复制的增强
  • 支持公用表表达式(非递归和递归)
  • 增强的优化器
  • ……

关于 MySQL 8 正式版新增功能的详细介绍可以查看 MySQL Server Blog 的介绍文章

第1步:添加MySQL Apt存储库

目前已经有了现成可用于安装 MySQL Server、客户端和其它组件的 APT 存储库,我们需要先将 MySQL 存储库添加到 Ubuntu 18.04 的软件包源列表中:

1先使用 wget 下载存储库软件包:

wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb

2然后使用以下 dpkg 命令安装下载好的 MySQL 存储库软件包:

sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb

注意:在软件包安装过程中,系统会提示您选择 MySQL 服务器版本和其他组件,例如群集、共享客户端库或配置要安装 MySQL 的工作台。

默认 MySQL 服务器版本 mysql-8.0 的源将被自动选中,我们只需最终确定就可以完成发行包的配置和安装。

第2步:在Ubuntu 18.04中安装MySQL 8服务器

1从所有已配置的存储库(包括新添加的 MySQL 8存储库)中下载最新的软件包信息:

sudo apt update
这一步可能会报错:Ubuntu:apt-get update出错:由于没有公钥,无法验证下列签名

解决方法:https://blog.csdn.net/qq_24805141/article/details/52838730
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E40EBBA24FF2FC69
1
注意:

解决方法中的 E40EBBA24FF2FC69要与你提示错误中的签名(如下)一致。

由于没有公钥,无法验证下列签名: NO_PUBKEY E40EBBA24FF2FC69
1
不然无法成功。

2然后运行如下命令安装 MySQL 8 社区服务器、客户端和数据库公用文件:

sudo apt-get install mysql-server

3通过安装过程,将会要求为 MySQL 8 服务器的 root 用户输入密码,在输入和再次验证后按回车继续。

4接下来,MySQL 服务器认证插件的配置信息将会出现,用键盘右键选择 OK 后按回车继续。

5此后,需要选择将要使用的默认身份认证插件,选择好之后按回车即可完成程序包配置。

身份认证插件有如下 2 种可供选择:

  • 使用存储密码加密(推荐)
  • 使用传统认证模式(MySQL 5.x 兼容)

第3步:运行安全的 MySQL 8.0服务器

默认安装的 MySQL 服务器都是不太安全的,为了提供基本的安全保障,请运行二进制安装包中附带的安全脚本进行一些基本配置。(执行脚本时需要验证安装过程中已配置的 root 密码,然后选择是否使用 VALIDATE PASSWORD 插件。)

脚本执行后可以更改之前设置的 root 密码,然后执行 y 来解决如下安全问题:

  • Remove anonymous users? : y(删除匿名用户)
  • Disallow root login remotely?: y(禁止root远程登录)
  • Remove test database and access to it? : y(删除测试数据库)
  • Reload privilege tables now? : y(立即重新加载特权表)
sudo mysql_secure_installation

第4步:通过Systemd管理MySQL 8

在 Ubuntu 系统中,通常安装好的服务都是被配置为自动启动的,您可以使用如下命令检查 MySQL 服务器是否已启动并正在运行。

sudo systemctl status mysql

如果由于一些原因没有自动启动,可以用如下命令手动启用并将 MySQL 8 配置为随系统启动时启动:

sudo systemctl status mysql
sudo systemctl enable mysql

第5步:安装额外的MySQL产品和组件

另外,如果有需要,也可以安装额外的 MySQL 组件,以便与服务器一起工作。比如 mysql-workbench-community 和libmysqlclient18 等等。

sudo apt-get update
sudo apt-get install mysql-workbench-community libmysqlclient18

更多详细请参考,MySQL 8.0 发行日志

ubuntu MySQL的安装的更多相关文章

  1. ubuntu mysql 的安装、配置、简单使用,navicat 连接

    MySQL 的安装 1. 先更新 apt 安装中心: apt update 里面会有默认最新的mysql 的包. 2.安装msyql : sudo apt-get install mysql-serv ...

  2. Ubuntu MySQL的安装使用

    删除 mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt- ...

  3. Linux(Ubuntu) MySQL数据库安装与卸载

    安装 修改远程访问 卸载 安装 首先检查系统中是否已经安装了MySQL sudo netstat -tap | grep mysql 没有显示已安装结果,则没有安装 如若已安装,可以选择删除.(删除方 ...

  4. Ubuntu mysql 在线安装

    $ sudo apt install mysql-server

  5. ubuntu 启动MySql和安装python的MySQLdb模块

    ubuntu一般会自己预安装mysql,你只需 /etc/init.d/mysql start|stop|restart|reload|force-reload|status  命令便可以实现mysq ...

  6. Ubuntu server12.04安装JDK+Tomcat+mysql

    一.安装JDK 1.首先到官网上下载jdk-7u79-linux-x64.tar.gz. 2.将jdk-7u79-linux-x64.tar.gz拷贝到/usr/lib/jdk/目录下面,这里如果没有 ...

  7. Ubuntu MYSQL和Windows MYSQL (非C盘安装)

    1.Ubuntu 默认安装 Mysql 5.6版本以上: 1.查看系统是否安装mysql 数据库: sudo netstat -tap | grep mysql 如果安装了,就查看一下版本命令: my ...

  8. Ubuntu 14.04安装mysql

    在ubuntu kylin上面安装mysq的过程中遇到一些问题,记录如下, wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-server_5. ...

  9. ubuntu 14.04 安装mysql server的分支MariaDB Server初级教程

    序,MariaDB Server是Mysql的fork版本,与Mysql完美兼容,mysql在10年被sun收购,后sun被oracle收购,后mysql的创建者及项目长期技术带头人之一的Michae ...

随机推荐

  1. NPOI 设置样式为粗体

    CellStyle style = hssfworkbook.CreateCellStyle(); Font f = hssfworkbook.CreateFont(); f.Boldweight = ...

  2. 《jQuery精品教程视频》-每天的复习笔记

    第一天 //jquery:简单.粗暴 //jq和js的关系 //js是什么? js是一门编程语言 //jq仅仅是基于js的一个库,jq可理解为就是开发js的一个工具. //概念 //1. 为什么要学j ...

  3. shell编程 之 实践出真知(代码实例)

    1,在任意一个文件夹里,新建10个空文件,文件名为t1.txt-t10.txt ,文件内容分别是11-20 ,就一行,然后把这个10个文件命名成t1.sh-t10.sh. 老司机版: $ for (( ...

  4. 通过SecureCRT连接虚拟机

    继续上一篇: http://www.cnblogs.com/CoolJayson/p/7430421.html 上一篇配置了虚拟机网络环境, 实际开发中通常使用SecureCRT或Xshell等连接L ...

  5. 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小

    其实本来只想找一个方法能查询一下 数据库 的大小,没想到这个方法还能查询数据库中 各个数据表 的大小,嗯,挺好玩的,记录一下. MSDN资料:https://msdn.microsoft.com/zh ...

  6. 正则表达式、BeautifulSoup、Lxml进行性能对比

    爬取方法 性能 使用难度 安装难度 正则表达式 快 困难 简单(内置) BeautifulSoup 慢 简单 简单 Lxml 快 简单 相对困难

  7. Linux网络 - 数据包的接收过程【转】

    转自:https://segmentfault.com/a/1190000008836467 本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的. 如果英文没有问题,强烈建议阅读后 ...

  8. python3+requests库框架设计03-请求重新封装

    在完成了日志类封装之后,那我们就要对测试基类进行实现,在其中对一些请求再次封装,在项目下新建一个Common文件夹,在文件夹下新建Base_test.py文件,项目结构如下. 具体怎么封装还是要看被测 ...

  9. Equivalent Sets HDU - 3836 2011多校I tarjan强连通分量

    题意: 给一些集合 要求证明所有集合是相同的 证明方法是,如果$A∈B$,$B∈A$那么$A=B$成立 每一次证明可以得出一个$X∈Y$ 现在已经证明一些$A∈B$成立 求,最少再证明多少次,就可以完 ...

  10. $Django 等web框架,交互,基础入门

    1 web 应用2 c/s 和bs架构3 python中的web框架    a :socket    b:路由跟视图函数匹配关系    c:模板渲染 django: uwsgi/wsgiref    ...