Ubuntu20.04 环境安装MySQL5.7

MySQL 5.7 是一种流行的关系型数据库管理系统(RDBMS),由 Oracle 公司开发和维护。它是 MySQL 数据库的一个重要版本,引入了许多新功能和改进,提供了更高的性能、可靠性和安全性。

以下是 MySQL 5.7 的一些主要特点和功能:

1. JSON 支持:MySQL 5.7 引入了对 JSON 数据类型的支持,使得存储和查询 JSON 数据变得更加方便。您可以存储和操作 JSON 数据,使用内置的 JSON 函数进行查询和分析。

2. 改进的性能:MySQL 5.7 在查询性能方面进行了优化,引入了许多新的查询优化器和执行计划。它还提供了更好的并发性能和事务处理能力,以满足高负载和高并发环境的需求。

3. 安全增强:MySQL 5.7 引入了许多安全增强功能,包括密码策略、加密连接、访问控制和审计日志等。它提供了更强的安全性,保护数据库免受潜在的攻击和数据泄露。

4. GIS 支持:MySQL 5.7 支持地理信息系统(GIS)功能,使得存储和查询空间数据变得更加容易。您可以存储和操作地理位置数据,并使用内置的 GIS 函数进行空间查询和分析。

5. 复制和高可用性:MySQL 5.7 提供了更强大和可靠的复制功能,支持主从复制和多主复制拓扑结构。它还引入了半同步复制和组复制等高可用性功能,确保数据的持久性和可用性。

6. InnoDB 存储引擎:MySQL 5.7 默认使用 InnoDB 存储引擎作为主要的事务处理引擎。InnoDB 提供了更好的事务支持、并发性能和数据完整性,适用于大多数应用场景。

接下来开始安装,采用生产环境中最常用的二进制安装包安装。

环境:Ubuntu20.04

软件:MySQL5.7

1. 创建MySQL用户

代码语言:bash
复制
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

2. 安装依赖

代码语言:bash
复制
apt install libncurses5 -y

3. 下载MySQL5.7.33安装包,并解压

代码语言:bash
复制
cd /usr/local/ && wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
tar zxvf /root/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz

4. 创建mysql-files 并更改权限等

代码语言:bash
复制
ln -s /usr/local/mysql-5.7.33-linux-glibc2.12-x86_64 mysql
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files

5. 创建MySQL配置文件my.cnf,复制粘贴下面命令就行。

代码语言:bash
复制
echo "[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

log_error = /usr/local/mysql/logs/error.log
log_error_verbosity = 2
general_log = 0
general_log_file = /usr/local/mysql/logs/mysql_query.log
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/logs/mysql_slow.log
log_queries_not_using_indexes = 1
long_query_time = 2
slow_launch_time = 2
log-slow-admin-statements = 1

[mysqldump]
quick" > /etc/my.cnf

6. 创建日志路径

代码语言:bash
复制
mkdir -p /usr/local/mysql/logs
chown -R mysql.mysql /usr/local/mysql/logs

7. 初始化MySQL,由于提前已经把配置文件编辑好所以初始化这里基本不需要卸载太多参数

代码语言:bash
复制
bin/mysqld --initialize --user=mysql

8. SSL/TLS密钥和证书加密

代码语言:bash
复制
bin/mysql_ssl_rsa_setup

9. 使用mysqld_safe启动MySQL并配置环境变量,设置init启动方式

代码语言:bash
复制
bin/mysqld_safe --user=mysql &
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile
/etc/init.d/mysql.server restart

10.检查MySQL服务是否正常启动

代码语言:bash
复制
ps -ef | grep mysql

11. MySQL初始化后会在日志中生成一个随机密码,使用如何方式查询

代码语言:bash
复制
cat /usr/local/mysql/logs/error.log | grep "temporary"
#这里临时密码为>_Fx2_QZz8U*

至此,MySQL5.7安装完成。

本机连接测试:

如果是通过公网方式连接mysql服务,需要登录数据库中进行额外授权:

代码语言:bash
复制
#授权前需要先改密码,我们把密码改为 >_Fx2_QZz8U!!!
alter user 'root'@'localhost' identified by '>_Fx2_QZz8U!!!';
use mysql;
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '>_Fx2_QZz8U!!!';
flush privileges;

从远程连接测试:

以上就是完整的安装步骤,边安装边记录,需要朋友收藏备用吧。