centos 安装mysql5.7教程

一,配置yum mysql5.7安装源

复制代码
配置yum mysql5.7安装源
bash 复制代码
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 

配置mysql5.7安装源成功

查看配置成功的安装源

bash 复制代码
yum repolist enabled | grep "mysql*"

执行后看到已配置好mysql5.7安装源了,如下图:

二, 执行安装mysql5.7

开始安装mysql5.7

bash 复制代码
yum install -y mysql-community-server

执行安装mysql5.7,如下图:

安装过程中止报错:Failing package is: mysql-community-server-5.7.44-1.el7.x86_64

GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql,如下图:

需要安装gpg-key:

bash 复制代码
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 

安装完gpg-key后会生成一个文件:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql ,如下图:

安装gpg-key后再次安装mysql5.7,直到安装完成,如下图:

启动mysql

配置开机启动

bash 复制代码
systemctl enable mysqld

三, 配置账户

1 查看安装时生成的账户密码

bash 复制代码
grep 'temporary password' /var/log/mysqld.log

2 本地登陆mysql

bash 复制代码
mysql -uroot -p

首次登陆mysql必须先修改密码:

sql 复制代码
alter user root@localhost identified by 'xXx@123abc';

默认只允许本地访问,修改成远程访问:

sql 复制代码
update user set host='%' where user='root';
flush privileges;

如下图:

测试远程访问成功,如下图:

四, mysql 配置文件

mysql默认配置文件路径 /etc/my.cnf,可以针对需要进行配置,也可以使用默认配置。

mysql /etc/my.cnf 配置文件文本:

sql 复制代码
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

datadir=/opt/mysql57
socket=/opt/mysql57/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server=utf8mb4
back_log=600

max_connections=9000
max_connect_errors=6000
max_allowed_packet=128M
thread_cache_size=300
query_cache_type=1
query_cache_size=1024M
query_cache_limit=64M
default-time-zone='+08:00'
table_open_cache=800
slow_query_log=ON
slow_query_log_file=/var/log/slow_query.log
long_query_time=1

max_heap_table_size = 1024M
tmp_table_size = 1024M

transaction_isolation=READ-COMMITTED

innodb_buffer_pool_size = 2G
innodb_buffer_pool_chunk_size = 128M
innodb_buffer_pool_instances = 16

以下是对每个配置项目的简要解释:

  1. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES:

    • NO_ENGINE_SUBSTITUTION: 如果指定的存储引擎不可用,不要替换为默认的存储引擎。
    • STRICT_TRANS_TABLES: 启用严格模式,拒绝插入不符合表定义的数据。
  2. character-set-server=utf8mb4:

    • 设置 MySQL 服务器的默认字符集为 UTF-8MB4,支持更广泛的 Unicode 字符。
  3. back_log=600:

    • 指定在拒绝新连接请求之前,允许在内部队列中等待的连接数。此参数影响服务器能够处理的并发连接数量。
  4. max_connections=9000:

    • 设置 MySQL 服务器支持的最大连接数。
  5. max_connect_errors=6000:

    • 定义在发生错误之前允许的连接错误数。用于防止连接失败时过度频繁地尝试重新连接。
  6. max_allowed_packet=128M:

    • 设置客户端和服务器之间能够传输的最大数据包大小。
  7. thread_cache_size=300:

    • 设置线程缓存的大小,以减少线程的创建和销毁带来的开销。
  8. query_cache_type=1:

    • 启用查询缓存。
  9. query_cache_size=1024M:

    • 设置查询缓存的总大小。
  10. query_cache_limit=64M:

    • 设置查询结果的最大缓存大小。
  11. default-time-zone='+08:00':

    • 设置默认时区为东八区。
  12. table_open_cache=800:

    • 设置表缓存的大小,这是打开表的数量。
  13. slow_query_log=ON:

    • 启用慢查询日志,记录执行时间超过 long_query_time 阈值的查询。
  14. slow_query_log_file=/var/log/slow_query.log:

    • 指定慢查询日志文件的路径。
  15. long_query_time=1:

    • 定义执行时间超过多少秒的查询被视为慢查询。
  16. max_heap_table_size = 1024M:

    • 设置在内存中存储的 HEAP 表的最大大小。
  17. tmp_table_size = 1024M:

    • 设置在磁盘上存储的临时表的最大大小。
  18. transaction_isolation=READ-COMMITTED:

    • 设置事务隔离级别为 READ COMMITTED,它是一种较高级别的隔离级别,提供更好的并发性和一致性。
  19. innodb_buffer_pool_size = 2G:

    • 设置 InnoDB 缓冲池的大小,这是 InnoDB 存储引擎用于缓存表和索引数据的重要参数。
  20. innodb_buffer_pool_chunk_size = 128M:

    • 设置 InnoDB 缓冲池的块大小。
  21. innodb_buffer_pool_instances = 16:

    • 将 InnoDB 缓冲池划分为多个实例,以提高并发性。每个实例都有自己的线程和LRU链表。

这些参数的值可能需要根据具体的应用和服务器硬件进行调整,以达到最佳性能和稳定性。

相关推荐
孙克旭_6 小时前
PXE_Kickstart_无人值守自动化安装系统
linux·运维·自动化
皓月盈江7 小时前
Linux电脑本机使用小皮面板集成环境开发调试WEB项目
linux·php·web开发·phpstudy·小皮面板·集成环境·www.xp.cn
深井冰水7 小时前
mac M2能安装的虚拟机和linux系统系统
linux·macos
leoufung7 小时前
内核内存锁定机制与用户空间内存锁定的交互分析
linux·kernel
π大星星️8 小时前
HAProxy + Keepalived + Nginx 高可用负载均衡系统
运维·nginx·负载均衡
IT专业服务商9 小时前
联想 SR550 服务器,配置 RAID 5教程!
运维·服务器·windows·microsoft·硬件架构
忧虑的乌龟蛋9 小时前
嵌入式Linux I2C驱动开发详解
linux·驱动开发·嵌入式·iic·i2c·读数据·写数据
I_Scholar10 小时前
OPENSSL-1.1.1的使用及注意事项
linux·ssl
Johny_Zhao10 小时前
K8S+nginx+MYSQL+TOMCAT高可用架构企业自建网站
linux·网络·mysql·nginx·网络安全·信息安全·tomcat·云计算·shell·yum源·系统运维·itsm
稳联技术10 小时前
Ethercat转Profinet网关如何用“协议翻译术“打通自动化产线任督二脉
linux·服务器·网络