• 01-mysql5.7安装部署-yum安装


    1. mysql安装方式

    在centos环境下,mysql安装部署主要是yum或二进制包安装,在其他linux发行版也有类似的安装方式,通过包管理器进行安装,相对来说比较方便。如果是简单测试,还可以通过docker来配置,更加简单。
    总结下来,主要有下面几种安装部署方式

    1. 包管理器安装,yum或apt等
    2. 二进制包安装
    3. 源码编译安装
    4. docker拉取镜像进行配置
      下面主要介绍在centos环境下使用yum安装的一些简单配置

    2. 安装包下载

    配置yum仓库下载
    参考:https://dev.mysql.com/downloads/repo/yum/

    在mysql官方网站进行rpm包下载,下载地址:
    https://dev.mysql.com/downloads/mysql/
    上面的地址只能看到最新稳定版的,我们要下载的5.7版本属于老版本,要在历史归档里面查找

    https://downloads.mysql.com/archives/community/
    wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
    tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
    yum localinstall -y ./mysql-community-*.rpm
    
    • 1
    • 2
    • 3
    • 4

    3. 简单配置与初始化

    rpm包安装完之后,配置文件在/etc/my.cnf,服务配置文件在/usr/lib/systemd/system/mysqld.service
    修改/etc/my.cnf配置文件

    [mysqld@3306]
    # 这个配置段配置的是3306这个mysql实例的参数,如果有多实例,比如加一个3307的mysql,再加一个配置段,参考下面的配置稍微改一下就行
    
    innodb_buffer_pool_size = 5000M
    
    # server_id的值,局域网内,不同实例的值要设置为不同的
    server_id=20106
    #log_slave_updates=1
    
    port = 3306
    datadir=/home/my3306
    socket=/home/my3306/mysql.sock
    log-error=/home/my3306/mysqld.log
    pid-file=/home/my3306/mysqld.pid
    log_bin=mysql-201-binlog
    
    # gitid最好是开启
    gtid_mode=ON
    enforce-gtid-consistency=ON
    
    max_connections=2048
    slow_query_log=ON
    
    binlog_format=row
    skip-name-resolve
    
    log-slave-updates=1
    relay_log_purge=0
    back_log=128
    wait_timeout=60
    interactive_timeout=7200
    key_buffer_size=16M
    #query_cache_size=64M
    #query_cache_type=1
    #query_cache_limit=50M
    max_connect_errors=20
    sort_buffer_size=2M
    max_allowed_packet=32M
    join_buffer_size=2M
    thread_cache_size=200
    innodb_buffer_pool_size=1024M
    innodb_flush_log_at_trx_commit=1
    innodb_log_buffer_size=32M
    innodb_log_file_size=128M
    innodb_log_files_in_group=3
    binlog_cache_size=2M
    max_binlog_cache_size=8M
    max_binlog_size=512M
    expire_logs_days=7
    read_buffer_size=2M
    read_rnd_buffer_size=2M
    bulk_insert_buffer_size=8M
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52

    数据目录已经设置好了,下面就是新建目录,授权

    mkdir -pv /home/my3306
    chown -R mysql.mysql /home/my3306
    启动mysql
    systemctl start mysqld@3306
    
    # 注意,不是systemctl start mysqld,因为后面要考虑mysql多实例
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    获取初始密码

    cd /home/my3306
    grep pass mysqld.log
    
    • 1
    • 2

    使用初始密码登录,修改root密码,用户授权

    mysql -uroot -S  /home/my3306/mysql.sock -p
    
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@1234';
    
    • 1
    • 2
    • 3

    新用户授权

    use mysql;
    create user user01@'10.91.0.%' identified by 'Root@1234';
    grant all privileges on *.* to user01@'10.10.0.%' with grant option;
    # 或者是
    grant all privileges on *.* to 'user02'@'10.10.0.%' identified by 'Root@1234' with grant option;
    grant all privileges on test.* to 'user03'@'10.10.0.%' identified by 'Root@1234' with grant option;
    grant select on test.* to 'user04'@'10.10.0.%' identified by 'Root@1234' with grant option;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    根据需要进行授权即可
    注意:mysql 5.7默认的密码认证加密插件还是mysql_native_password。

  • 相关阅读:
    学习Linux难么?要怎么学?
    Leetcode 刷题日记 剑指 Offer II 053. 二叉搜索树中的中序后继
    Pyinstaller打包EXE时添加版本信息、作者信息并在运行时读取外部配置文件
    Python dcm转jpg与jpg转dcm
    web概述12
    log4j漏洞学习
    00Android studio安装
    Token详解
    【机器学习项目实战10例】(三):基于K近邻的葡萄酒质量检测项目
    [DP] DP优化总结
  • 原文地址:https://blog.csdn.net/zhangpfly/article/details/126306748