MySQL社区服务器是一个免费开源、流行的跨平台数据库管理系统,同时支持SQL和NoSQL ,具有可插拔的存储引擎架构。此外,它还带有用于不同编程语言的多个数据库连接器,允许您使用任何一种众所周知的语言和许多其他功能来开发应用程序。
MySQL在文档存储、云、高可用性系统、IoT(物联网)、Hadoop、大数据、数据仓库、支持大容量网站/应用程序的LAMP或LEMP堆栈等方面都有许多实际用例,其重要性不言而喻。
在本文中,小编主要介绍在Ubuntu 22.04、Ubuntu 20.04和Ubuntu 18.04版本上全新安装MySQL 8.0数据库系统的详细方法。不过,在实际安装步骤进行之前,简单概括下MySQL 8.0版本的新功能特性,具体如下:
- MySQL 8.0合并了一个事务数据字典。
- 带有原子DDL语句支持。
- 增强的安全性和帐户管理,同时包括改进资源管理。
- 一些关于InnoDB和JSON增强功能。
- 一种新型的备用锁。
- 默认字符集已从latin1更改为utf8mb4。
- 使用Unicode国际组件 (ICU) 提供正则表达式支持。
- 新的错误日志记录现在使用MySQL组件架构。
- 对MySQL复制的增强。
- 支持公用表表达式(非递归和递归)。
- 具有增强的优化器和额外的窗口功能。
第1步:升级Ubuntu服务器
现在可以使用默认的APT包存储库来安装MySQL服务器、客户端和其它组件。在撰写本文时,最新可用的MySQL版本为8.0.28。要安装它,必须通过运行以下apt命令来更新Ubuntu服务器上的包索引。
$ sudo apt update $ sudo apt upgrade
接下来,使用apt-cache 命令(查询包缓存)在Ubuntu服务器上搜索MySQL服务器和客户端包。
$ apt-cache search mysql-server mysql-server - MySQL database server (metapackage depending on the latest version) mysql-server-8.0 - MySQL database server binaries and system database setup mysql-server-core-8.0 - MySQL database server binaries default-mysql-server - MySQL database server binaries and system database setup (metapackage) default-mysql-server-core - MySQL database server binaries (metapackage) mariadb-server-10.6 - MariaDB database server binaries mariadb-server-core-10.6 - MariaDB database core server files
第2步:在Ubuntu服务器上安装MySQL
运行以下命令为MySQL社区服务器、客户端和数据库公共文件安装包具体如下:
$ sudo apt-get install mysql-server
默认的MySQL配置文件和错误日志文件将位于以下位置,可以使用nano编辑器或tail命令查看它们,具体如下:
$ sudo nano /etc/my.cnf $ sudo tail -f /var/log/mysql/error.log
第3步:通过Systemd管理MySQL服务器
在Ubuntu系统上,安装MySQL服务器包后,通常会在配置包后自动启动其服务。可以使用以下systemctl命令检查MySQL服务器是否已启动并正在运行:
$ sudo systemctl status mysql.service
如果出于某种原因,它没有自动启动,请使用下面的命令启动并使其在系统启动时启动,如下所示。
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service $ sudo systemctl start mysql.service $ sudo systemctl restart mysql.service
第4步:设置MySQL根密码
首先,打开MySQL提示符,命令如下:
$ sudo mysql
接下来,运行ALTER USER
命令使用mysql_native_password身份验证方法设置MySQL root 密码,具体如下:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR-STRONG-PASSWORD';
设置密码后,退出MySQL提示符:
mysql> exit
第5步:安全的MySQL服务器安装
默认情况下,MySQL安装是不安全的。为了保护它,运行二进制包附带的安全脚本,安全机制命令如下:
$ sudo mysql_secure_installation
系统会要求输入刚刚在上面设置的root密码。然后输入yes/y
确认以下安全问题:
- 删除匿名用户?(按y|Y表示是,任何其他键表示否):
y
- 禁止root远程登录?(按y|Y表示是,任何其他键表示否):
y
- 删除测试数据库并访问它?(按y|Y表示是,任何其他键表示否):
y
- 现在重新加载权限表?(按y|Y表示是,任何其他键表示否):
y
第6步:使用用户创建MySQL数据库
MySQL安装带有一个root帐户,可以使用它来管理整个数据库,但出于安全原因,个人建议创建一个对数据库具有操作限权限的普通用户帐户,如下所示:
$ mysql -u root -p mysql> CREATE DATABASE tecmintdb; mysql> CREATE USER 'aaron'@'localhost' IDENTIFIED BY 'rig!43B#web1rdl0gn1'; mysql> GRANT ALL PRIVILEGES ON tecmintdb.* TO 'aaron'@'localhost';
现在可以使用新的MySQL用户身份登录,使用以下命令:
$ mysql -u aaron -p
第7步:安装额外的MySQL产品和组件
此外,还可以安装你认为需要的额外MySQL组件,以便与服务器一起工作,例如mysql-workbench-community、libmysqlclient18等。
$ sudo apt-get update $ sudo apt-get install mysql-workbench-community libmysqlclient18
最后,要访问MySQL Shell,请输入相应的数据库用户和密码访问即可。
总结
以上就是在Ubuntu 22.04和Ubuntu 20.04系统中安装MySQL 8.0版本的详细步骤,如果不清楚安装过程的小伙伴可以按照上述教程进行操作,基本上都是傻瓜式命令操作,不会出错的。
据了解,MySQL 8.0是一种关系型数据库管理系统,由Oracle公司开发和维护。它提供了诸如JSON支持、窗口函数、CTE等新功能,以及更好的性能和安全性,包括密码策略强制执行和默认的非特权用户等。此外,MySQL 8.0也支持多种存储引擎,包括InnoDB、MyISAM和Memory等,可以满足不同应用场景的需求。