centos 安装mysql5.7教程

 centos 安装mysql5.7教程

一,配置yum mysql5.7安装源

配置yum mysql5.7安装源

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

 配置mysql5.7安装源成功

  查看配置成功的安装源

yum repolist enabled | grep "mysql*"

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

  开始安装mysql5.7

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:

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

配置开机启动

systemctl enable mysqld

三, 配置账户

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

grep 'temporary password' /var/log/mysqld.log

  2 本地登陆mysql

mysql -uroot -p

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

use mysql

alter user root@localhost identified by 'xXx@123abc';

 

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

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

 如下图:

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

四, mysql 配置文件

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

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

    [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
     
     

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

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

    character-set-server=utf8mb4:
        设置 MySQL 服务器的默认字符集为 UTF-8MB4,支持更广泛的 Unicode 字符。

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

    max_connections=9000:
        设置 MySQL 服务器支持的最大连接数。

    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:
        启用慢查询日志,记录执行时间超过 long_query_time 阈值的查询。

    slow_query_log_file=/var/log/slow_query.log:
        指定慢查询日志文件的路径。

    long_query_time=1:
        定义执行时间超过多少秒的查询被视为慢查询。

    max_heap_table_size = 1024M:
        设置在内存中存储的 HEAP 表的最大大小。

    tmp_table_size = 1024M:
        设置在磁盘上存储的临时表的最大大小。

    transaction_isolation=READ-COMMITTED:
        设置事务隔离级别为 READ COMMITTED,它是一种较高级别的隔离级别,提供更好的并发性和一致性。

    innodb_buffer_pool_size = 2G:
        设置 InnoDB 缓冲池的大小,这是 InnoDB 存储引擎用于缓存表和索引数据的重要参数。

    innodb_buffer_pool_chunk_size = 128M:
        设置 InnoDB 缓冲池的块大小。

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

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

本站所有资源都是由网友投搞发布,或转载各大下载站,请自行检测软件的完整性!本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!如有侵权请联系我们删除下架,联系方式:273171821@qq.com
0
分享到: