• MySQL8.0.24内网部署


    以CentOS-8-Runtime-x86_64.202109为例,其他也适用,何为 “内网” ,镜像都不给你挂载

    通用离线安装依赖lib库的套路

    第一步:首先得找一个环境相同的联网的环境

    第二步:使用将依赖下载下来(使用yum install --downloadonly --downloaddir=/root/soft/本地存储位置 模块名称),上传至离线环境安装

    Demo:离线安装cmake所以需要的依赖(cmake源码包安装不在阐述)

    yum install --downloadonly --downloaddir=/root/soft/gcc gcc
    
    yum install --downloadonly --downloaddir=/root/soft/gcc++ gcc-c++
    
    yum install --downloadonly --downloaddir=/root/soft/openssl-devel openssl-devel
    
    rpm -ivh *.rpm --nodeps --force
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    进入正题

    下载安装包

    下载所需依赖:https://download.csdn.net/download/m0_59492087/86892733

    下载cmake,地址:https://cmake.org/files/v3.18/cmake-3.18.1.tar.gz

    下载MySQL,注意:得是boost类型的源码包,地址:https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-8.0.24.tar.gz

    开始安装

    解压上述依赖压缩包后,目录结构如下:
    在这里插入图片描述

    1. 分别进入到gcc,gcc++,libtirpc-devel,ncurses-devel,openssl-devel下执行强制安装依赖命令
    rpm -ivh *.rpm --nodeps --force
    
    • 1
    1. 上述完成后,解压rpcsvc-proto-1.4.1.tar.xz,执行命令xz -d rpcsvc-proto-1.4.1.tar.xztar -xf rpcsvc-proto-1.4.1.tar.xz,然后老三步,./configuremake && make install

    2. rpcgen目录为空不用管

    3. 解压cmake,进入解压目录,执行./configure 执行完成后,在执行make && make install 安装即可

    4. 使用cmake -version 检查是否安装成功

    5. 创建MySQL用户并将MySQL用户加入到MySQL用户组中

    groupadd mysql
    useradd -s /sbin/nologin -g mysql mysql
    
    • 1
    • 2
    1. 创建MySQL数据目录和日志目录
    mkdir /data/mysql
    
    • 1
    1. 到MySQL的解压目录下执行编译命令
    cmake -DCMAKE_INSTALL_PREFIX=/opt/app/mysql -DMYSQL_DATADIR=/data/mysql/data -DMYSQL_UNIX_ADDR=/opt/app/mysql/mysql.sock -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DFORCE_INSOURCE_BUILD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/root/mysql-8.0.24/boost
    
    • 1
    1. 上述命令执行完成后,执行安装命令
    make && make install
    
    • 1
    1. 修改配置文件

    修改配置文件/etc/my.cnf

    [mysqld]
    datadir=/data/mysql/data
    socket =/opt/app/mysql/mysql.sock
    lower_case_table_names=1
    character-set-server=utf8
    collation-server=utf8_general_ci
    skip-name-resolve
    user=mysql
    
    [client]
    default-character-set=utf8
    socket =/opt/app/mysql/mysql.sock
    
    [mysql.server]
    user=mysql
    basedir=/opt/app/mysql
    default-character-set=utf8
    
    [mysqld_safe]
    err-log=/data/mysql/log/mysqld.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    1. 修改日志目录和数据目录以及安装目录的权限
    chown -R mysql.mysql /data/mysql/
    
    • 1
    1. 添加MySQL服务

    进入到/opt/app/mysql/support-files执行以下命令

    cp mysql.server /etc/rc.d/init.d/mysql
    
    • 1
    1. 设置开机启动MySQL
    chkconfig --add mysql
    chkconfig mysql on
    
    • 1
    • 2
    1. 将MySQL命令加入到环境变量
    ln -s /opt/app/mysql/bin/* /usr/bin/
    
    • 1
    1. 初始化数据库
    # 进入到/opt/app/mysql/bin执行
    mysqld --initialize --user=mysql --basedir=/opt/app/mysql --datadir=/data/mysql/data
    
    • 1
    • 2

    在这里插入图片描述
    记录MySQL的秘密。

    1. 启动MySQL服务
    service mysql start
    
    • 1
    1. 登录MySQL
      mysql -uroot 并回车粘贴密码即可。千万不要用-p指定密码。
      在这里插入图片描述
    2. 授予远程连接
    use mysql;
    update user set host='%' where user='root';
    select host, user from user;
    grant all privileges on *.* to 'root'@'%' ;
    flush privileges ;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    问题总结

    使用mysqld --console 查看报错

    1. 安装cmake时可能遇到
      在这里插入图片描述
    xz -d rpcsvc-proto-1.4.1.tar.xz
    tar -xvf rpcsvc-proto-1.4.1.tar
    cd rpcsvc-proto-1.4.1 
    ./configure
    make
    make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. mysql启动报错
      在这里插入图片描述
      进入文件:vim /etc/my.cnf
      在[mysqld]下输入内容:user=mysql

    2. mysql启动报错
      在这里插入图片描述

    • 删除/data/mysql/data目录
    • 在执行初始化数据库
    1. 登录报错Segmentation fault (core dumped)
      在这里插入图片描述
      解决方案:
      find / -name terminal.c
      找到这个文件后修改文件内容,并按照下面的修改
      在这里插入图片描述
    2. You must reset your password using ALTER USER statement before executing this statement
    # 修改密码
    alter user 'root'@'localhost' identified by '123456';
    
    • 1
    • 2
  • 相关阅读:
    哈夫曼树与哈夫曼编码
    我叫:选择排序【JAVA】
    浅谈new
    Dubbo面试题(二十八道)
    你的 Sleep 服务会梦到服务网格外的 bookinfo 吗
    CSDN博客去水印方法
    【计算机毕业设计】1.房屋租赁系统
    一种用于多线程中间状态同步的屏障机制
    【pytorch问题解决】OSError: [WinError 1455] 页面文件太小,无法完成操作。
    亚马逊云科技Amazon Bedrock大模型托管服务详细分析
  • 原文地址:https://blog.csdn.net/m0_59492087/article/details/127673331