网站seo应用,wordpress简单用户中心,网站没排名怎么办,广州市建设工程安全监督站网站前言
MySQL安装如果使用rpm包安装实在过于麻烦#xff0c;缺这缺那的#xff0c;我就想能不能就源码包自己手动编译安装#xff0c;编译完的包可以给其他服务器直接用#xff0c;这样只需要麻烦一次#xff0c;后面就方便了。至于为什么不用RockyLinux8.6版本#xff0c…前言
MySQL安装如果使用rpm包安装实在过于麻烦缺这缺那的我就想能不能就源码包自己手动编译安装编译完的包可以给其他服务器直接用这样只需要麻烦一次后面就方便了。至于为什么不用RockyLinux8.6版本因为我试过了编译成功的MySQL执行报错了我也不知道什么原因导致的索性换到最新的RockyLinux9.3版本了。
我这里用的电脑都是X86_64平台的如果是其他CPU架构的机型则需要下载对应CPU架构版本的rpm包。
这篇文章是我在一台虚拟机上编译完成后总结经验之后第三次编译了一边操作一边写的这篇博客保证真实有效跟着我操作绝对能够编译成功
提前准备
这准备的东西就多了首先是RockyLinux9.3版本这个直接去官网下载最小化安装即可。然后是装一大堆依赖包。
安装完后在/opt下有个rh目录这个rh可千万不能手贱删了删了后cmake会报错别问我是怎么知道的因为我手贱把它删了导致只能全部重来
yum install -y cmake gcc-c gcc-toolset-12-gcc gcc-toolset-12-gcc-c gcc-toolset-12-binutils gcc-toolset-12-annobin-annocheck gcc-toolset-12-annobin-plugin-gcc openssl-devel ncurses-devel rpcgen bzip2
下载MySQL的源码包
MySQL :: Download MySQL Community Server (Archived Versions) 选择版本8.2.0截止目前发稿2024.3.26的最新版本
选择Source Code选择All Operating System
下载到MySQL的源码包 下载boost包
https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.bz2
下载libtirpc-devel
RPM resource libtirpc-devel
ctrlF网页搜索libtirpc-devel-1.3.3-2.el9.x86_64.rpm 并下载这个包
下载libtirpc
RPM resource libtirpc
ctrlF网页搜索libtirpc-devel-1.3.3-2.el9.x86_64.rpm 并下载这个包
上传文件
刚才下载的所有的包到/opt目录下并cd /opt 安装boost包
bzip2 -d boost_1_77_0.tar.bz2
注意这一过程时间比较长且没有日志打印
再次解压
tar xvf boost_1_77_0.tar 执行安装
cd boost_1_77_0
./bootstrap.sh
./b2
./b2 headers
安装另外两个rpm包
cd /opt
rpm -ivh libtirpc-devel-1.3.3-2.el9.x86_64.rpm
rpm -ivh libtirpc-1.3.3-2.el9.x86_64.rpm
编译安装MySQL
解压MySQL源码包
tar zxvf mysql-8.2.0.tar.gz
cd mysql-8.2.0
创建build目录并cmake
mkdir build
cd build
cmake .. -DWITH_BOOST/opt/boost_1_77_0 当出现-- Build files have been written to: /opt/mysql-8.2.0/build说明cmake完成了
进行make操作
这个根据自己的电脑性能量力而行选择合适的job数量由于我的电脑配置比较高我选择了32个job。这个对电脑CPU和内存的要求都很高。我电脑是i7 12700H14c20T64GB内存所以我才敢直接-j 32 make -j 32
电脑性能越强悍这一步时间越短 经过漫长的编译等待时间终于编译好了
进行make install
make install 打包MySQL
在执行完make install后在/usr/local目录下就生成了MySQL编译完的包了执行
cd /usr/local
tar czvf mysql-bin.8.2.0.tar.gz mysql/
将这个tar包下载下来就能直接给其他服务器使用了
创建MySQL用户
目前8.2.0版本的MySQL无法使用root用户进行启动因此需要创建一个MySQL用户
useradd mysql
赋予mysql用户mysql目录的权限
cd /usr/local
chown -R mysql:mysql mysql
运行MySQL
su mysql
cd /usr/local/mysql
bin/mysqld --initialize --usermysql
bin/mysql_ssl_rsa_setup
bin/mysqld_safe --usermysql ps aux|grep mysql 进入MySQL
./bin/mysql -uroot -p
该密码可以在mysqld initialize这一步里找到输入该密码即可进入MySQL 到了这一步可以说是大功告成MySQL成功编译并能够进入了
修改root用户密码并开启远程登录
alter user user() identified by 你的密码;
use mysql;
update user set host % where user root;
flush privileges;
DBeaver连接MySQL
由于版权问题公司不允许使用Navicat目前这里使用DBeaver进行连接 直接连接的话会报这个错 在驱动属性中将allowPublicKeyRetrieval改为true即可 这样就能连接成功了这就是我们亲手编译完成的MySQL8.2.0
MySQL设置自启
返回使用root用户
chmod 755 /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
在结尾添加一行内容
/usr/local/mysql/support-files/mysql.server start
保存后重启服务器看效果 结语
该手动编译的MySQL没有my.cnf需要自己手动创建就在/usr/local/mysql目录下大家看看/usr/local/mysql/support-files/mysql.server的源码就知道了。
如果需要讨论交流的可以进群讨论170618278群很水请见谅。
如果本博客存在什么问题请合理评论讨论交流谢谢