CentOS8安装MySQL

选择MySQL数据库的原因:

1、运行速度快;

2、开源免费;

3、易学易用;

4、可移植性,能够在众多不同的系统上工作;

5、丰富的接口,提供了用于C、C++等语言的API;

6、支持查询语言;

7、安全性和连接性,因为MySQL是网络化的,可以在因特网上的任何地方访问,提高数据共享效率;

8、历史悠久,社区用户活跃;

9、软件体积小,安装简单,易于维护。

  MySQL 8.0 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!MySQL 8 中值得关注的新特性和改进:

1、性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在以下方面带来了更好的性能:读/写工作负载、IO 密集型工作负载、以及高竞争("hot spot"热点竞争问题)工作负载。

2、 NoSQL:MySQL 从 5.7 版本开始提供 NoSQL 存储功能,目前在 8.0 版本中这部分功能也得到了更大的改进。该项功能消除了对独立的 NoSQL 文档数据库的需求,而 MySQL 文档存储也为 schema-less 模式的 JSON 文档提供了多文档事务支持和完整的 ACID 合规性。

3、窗口函数(Window Functions):从 MySQL 8.0 开始,新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中。即窗口函数不需要 GROUP BY。

4、隐藏索引:在 MySQL 8.0 中,索引可以被"隐藏"和"显示"。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其"恢复显示"即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。

5、降序索引:MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。

6、 通用表表达式(Common Table Expressions CTE):在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。

7、 UTF-8 编码:从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。

8、JSON:MySQL 8 大幅改进了对 JSON 的支持,添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT() 函数,以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函数。

9、 可靠性:InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性,元数据存储在单个事务数据字典中。

10、高可用性(High Availability):InnoDB 集群为您的数据库提供集成的原生 HA 解决方案。

11、 安全性:对 OpenSSL 的改进、新的默认身份验证、SQL 角色、密码强度、授权。

一、准备工作:

1、下载对应版本的repo文件

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

2、清除旧的yum缓存并生成新的yum缓存

yum clean all

yum makecache

3、更新yum

yum update -y

二、安装mysql

1、安装命令:

wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

yum install mysql-server -y

service mysqld start

service mysqld status

systemctl enable mysqld.service

2、CCentOS8启动mysql服务:

3、CentOS8查看mysql服务是否启动:

三、查看当前安装的mysql版本

1、登录到mysql,如下图:

mysql -uroot -p

输入mysql的root用户密码

2、登录mysql后,查看当前安装的mysql版本,如上图:

select version();

四、开启mysql端口,配置mysql

1、CentOS8开启端口3306:

firewall-cmd --permanent --add-port=3306/tcp

2、重新加载防火墙,使开启的端口生效:

3、CCentOS8查看已开启的端口:

4、修改管理用户密码:

mysqladmin -uroot -p password

Enter password: #输入旧密码,默认空,回车

New password: #第一次输入新密码

Confirm new password: #第二次确认新密码

Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

5、使用nvicat连接mysql数据库:

(1)安装windows版的nvicat软件,打开它设置如下:

Host:填安装mysql的服务器ip地址

port:mysql端口号默认3306

user name:mysql的默认用户

password:mysql的用户密码

(2)连接时,若报错如下:

(3)在windows PC端口查看CentOS服务器的3306端口是否可用:

说明MYsql端口已开启,not allowed说明服务器并未允许连接,

(4)回到CentOS服务器登录到MY SQL,输入MY SQL密码:

(5)使用show databases;查看已建立的数据库,如上图:

(6)打开mysql数据库

use mysql

(7)查看MY sql默认允许连接

select host from user where user = 'root';

可以看出,默认my sql只允许本地主机连接(即当前只允许CentOS8连接)

(8)修改配置,使my sql允许远程root用户连接

update user set host ='%' where user = 'root';

flush privileges;刷新权限列表,如上图:

(9)再次查看MY SQL允许连接的用户,有%出现,%代表了root用户,所以此时root用户的远程权限已更新

select host from user where user = 'root';

(10)再次使用Navicat连接MY SQL

6、再次使用windows客户端测试对CentOS服务器的MY SQL服务3306端口的测试


7、CentOS8查看CPU、内存、硬盘使用的情况

(1)CentOS查看CPU使用情况

top

(2)CentOS查看内存使用情况

free --h

(3)CentOS查看硬盘使用情况

df -h

本文至此结束,不足之处敬请批评指正。

相关推荐
良许Linux10 分钟前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
ThisIsClark14 分钟前
【后端面试总结】MySQL主从复制逻辑的技术介绍
mysql·面试·职场和发展
蜜獾云21 分钟前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小屁不止是运维22 分钟前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
Hacker_Oldv27 分钟前
WPS 认证机制
运维·服务器·wps
bitcsljl35 分钟前
Linux 命令行快捷键
linux·运维·服务器
ac.char38 分钟前
在 Ubuntu 下使用 Tauri 打包 EXE 应用
linux·运维·ubuntu
Mr.131 小时前
数据库的三范式是什么?
数据库
Cachel wood1 小时前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Python之栈1 小时前
【无标题】
数据库·python·mysql