• CentOS 7 离线安装 MySQL 5.7


    0.说明

    在不联网的环境下安装 MySQL 5.7 ,从官网下载离线安装包
    现在用CentOS 7系统模拟服务器离线安装MySQL 5.7
    在网上看到一个教程挺新的,参照着他的教程结合我的情况安装了一遍

    参考链接:
    https://www.jellythink.com/archives/14

    1.检查是否安装了 MySQL
    rpm -qa | grep mysql

    2.检查是否安装了mariadb
    rpm -qa | grep mariadb

    3.如果已经存在则卸载
    rpm -e --nodeps xxx

    4.下载mysql-5.7.30
    下载地址 https://downloads.mysql.com/archives/community/

     

    5.上传

    将下载的离线安装包mysql-5.7.30-linux-glibc2.12-x86_64.tar上传到/app/package中

    6.解压离线安装包

    # 解压缩
    tar -xvf /app/package/mysql-5.7.30-linux-glibc2.12-x86_64.tar
    
    # 会得到一个mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz文件,再解压缩
    tar -zxvf /app/package/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz  -C /app/soft
    
    # 建立软链接,便于以后版本升级
    ln -s mysql-5.7.30-linux-glibc2.12-x86_64 mysql
    
    # 修改mysql文件夹下所有文件的用户和用户组
    chown -R share:share mysql/

     

    7.创建临时目录、数据目录和日志目录

    su share
    mkdir -p /app/mysql/3306/data
    mkdir -p /app/mysql/3306/log
    mkdir -p /app/mysql/3306/tmp

    8.创建配置文件

    # 创建配置文件
    cd /etc
    
    # 在my.cnf文件中添加对应的配置项
    vi my.cnf

    my.cnf 内容如下

    [client]                                        # 客户端设置,即客户端默认的连接参数
    port = 3306                                    # 默认连接端口
    socket = /app/mysql/3306/tmp/mysql.sock                        # 用于本地连接的socket套接字,mysqld守护进程生成了这个文件
    
    
    [mysqld]                                        # 服务端基本设置
    # 基础设置
    server-id = 1                                  # Mysql服务的唯一编号 每个mysql服务Id需唯一
    port = 3306                                    # MySQL监听端口
    basedir = /app/soft/mysql                      # MySQL安装根目录
    datadir = /app/mysql/3306/data                      # MySQL数据文件所在位置
    tmpdir  = /app/mysql/3306/tmp                                  # 临时目录,比如load data infile会用到
    socket = /app/mysql/3306/tmp/mysql.sock        # 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
    pid-file = /app/mysql/3306/log/mysql.pid      # pid文件所在目录
    skip_name_resolve = 1                          # 只能用IP地址检查客户端的登录,不用主机名
    character-set-server = utf8mb4                  # 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
    transaction_isolation = READ-COMMITTED          # 事务隔离级别,默认为可重复读,MySQL默认可重复读级别
    collation-server = utf8mb4_general_ci          # 数据库字符集对应一些排序等规则,注意要和character-set-server对应
    init_connect='SET NAMES utf8mb4'                # 设置client连接mysql时的字符集,防止乱码
    lower_case_table_names = 1                      # 是否对sql语句大小写敏感,1表示不敏感
    max_connections = 400                          # 最大连接数
    max_connect_errors = 1000                      # 最大错误连接数
    explicit_defaults_for_timestamp = true          # TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
    max_allowed_packet = 128M                      # SQL数据包发送的大小,如果有BLOB对象建议修改成1G
    interactive_timeout = 1800                      # MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
    wait_timeout = 1800                            # MySQL默认的wait_timeout值为8个小时, interactive_timeout参数需要同时配置才能生效
    tmp_table_size = 16M                            # 内部内存临时表的最大值 ,设置成128M;比如大数据量的group by ,order by时可能用到临时表;超过了这个值将写入磁盘,系统IO压力增大

    9.安装数据库

    # 进入MySQL的bin目录
    cd /app/soft/mysql/bin
    
    # 初始化数据库,并指定启动mysql的用户
    ./mysqld --initialize --user=share
    
    [share@s106 bin]$ pwd
    /app/soft/mysql/bin
    [share@s106 bin]$ ./mysqld --initialize --user=share
    2020-10-21T16:19:16.622570Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
    2020-10-21T16:19:16.622664Z 0 [Warning] Changed limits: max_connections: 214 (requested 400)
    2020-10-21T16:19:16.622666Z 0 [Warning] Changed limits: table_open_cache: 400 (requested 2000)
    2020-10-21T16:19:16.924699Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2020-10-21T16:19:16.996135Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2020-10-21T16:19:17.065945Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 2aaaffa2-13b9-11eb-b08c-000c294e627f.
    2020-10-21T16:19:17.066801Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2020-10-21T16:19:17.268919Z 0 [Warning] CA certificate ca.pem is self signed.
    2020-10-21T16:19:17.577435Z 1 [Note] A temporary password is generated for root@localhost: 5jee7Rjnuw>h

    这里最好指定启动mysql的用户名,否则就会在启动MySQL时出现权限不足的问题
    安装完成后,在my.cnf中配置的datadir目录下生成一个error.log文件,里面记录了root用户的随机密码。

    10.设置开机自启动服务

    # 复制启动脚本到资源目录
    cp /app/soft/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
    
    # 增加mysqld服务控制脚本执行权限
    chmod +x /etc/rc.d/init.d/mysqld
    
    # 将mysqld服务加入到系统服务
    chkconfig --add mysqld
    
    # 检查mysqld服务是否已经生效
    chkconfig --list mysqld
    
    # 切换至mysql用户,启动mysql
    service mysqld start

    11.配置环境变量
    为了更好的操作mysql,配置环境变量。

    # 切换至mysql用户
    su - share
    
    # 修改配置文件,增加export PATH=$PATH:/app/soft/mysql/bin
    vi .bash_profile
    
    # 立即生效
    source .bash_profile

    12.登陆,修改密码

    # 登陆mysql
    mysql -uroot -p
    
    # 修改root用户密码
    set password for root@localhost=password("123456");

  • 相关阅读:
    函数库:静态库和动态库
    预处理
    共用体、大端小端的判断、枚举
    结构体内存对齐及大小的判断
    内存的管理方式
    指针的高级应用
    H5+css3属性随笔
    项目实战——仿360囧图
    利用css3的动画实现图片轮播
    了解HTML5大纲算法
  • 原文地址:https://www.cnblogs.com/share23/p/14000598.html
Copyright © 2020-2023  润新知