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

进入正题

下载安装包

下载所需依赖: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. 上述完成后,解压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. 创建MySQL数据目录和日志目录
mkdir /data/mysql
  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. 上述命令执行完成后,执行安装命令
make && make install
  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. 修改日志目录和数据目录以及安装目录的权限
chown -R mysql.mysql /data/mysql/
  1. 添加MySQL服务

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

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

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

  1. 启动MySQL服务
service mysql start
  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 ;

问题总结

使用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. 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';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我教你啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值