debian12从源码编译安装mysql8.2

声明

提示:仅供学习使用:

本教程从全新系统开始,apt源为阿里云

#安装编译环境及依赖#配置编译目录,这步可不用配置到内存

apt install wget build-essential cmake libssl-dev libncurses5-dev pkg-config bison libudev-dev libsasl2-dev libldap2-dev

#配置编译目录,这步可不用配置到内存,配置到内存是为了加速编译

mkdir -p /ok

#不配置到内存不执行下面这行
mount -t tmpfs -o size=8G tmpfs /ok

#从内存卸载,会清空
#umount /ok

 #进入目录下载mysql源码并解压及创建编译目录并进入

cd /ok
wget -c https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.2.0.tar.gz
tar -zxvf ./mysql-boost-8.2.0.tar.gz
cd mysql-8.2.0/
mkdir build
cd build

#安装ccache缓存加速编译

apt install ccache

ln -s /usr/bin/ccache /usr/local/bin/gcc 

ln -s /usr/bin/ccache /usr/local/bin/g++

ln -s /usr/bin/ccache /usr/local/bin/c++

ln -s /usr/bin/ccache /usr/local/bin/cc

#配置编译参数,这里参考了 https://dev.mysql.com/doc/refman/8.3/en/source-configuration-options.html

cmake ../ -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mysql/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_SSL=system

#编译,多少线程就用-j多少,实测中4核心4线程,此处时间较长,实测cpu i5 3470 os debian12.5 纯字符界面用时3600秒

make -j4

#执行测试,此步骤可省略,用时也较长

make test 

make install

#创建配置文件的几个目录

mkdir /opt/mysql/tmp
mkdir /opt/mysql/data
mkdir /var/run/mysqld/

#创建配置文件

vim /etc/my.cnf 

 #配置文件内容如下

[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
bind-address = 0.0.0.0
user = root
port = 3306
basedir = /opt/mysql
datadir = /opt/mysql/data
tmpdir = /opt/mysql/tmp
pid-file = /var/run/mysqld.pid
log-error = /opt/mysql/tmp/error.log
socket = /tmp/mysql.sock
default-storage-engine = innodb
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

#初始化数据库

/opt/mysql/bin/mysqld --initialize-insecure

#复制服务

cp /opt/mysql/support-files/mysql.server /etc/init.d/mysql

cp /opt/mysql/bin/mysqld /etc/init.d/

chmod +x /etc/init.d/mysql

#启动服务及查看状态

/etc/init.d/mysql start

/etc/init.d/mysql status

/etc/init.d/mysql stop

update-rc.d mysql defaults

service mysql start

#创建mysql软链接

ln -s /opt/mysql/bin/mysql /usr/local/bin/mysql  

#登录数据库并修改密码,实测中直接回车能进

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY  'OkPlus123456';
flush privileges;

exit;

#允许远程连接

mysql -uroot -p

use mysql;

update user set host = '%' where user ='root';

flush privileges;

exit;

#关闭服务

service mysql stop

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

etafort

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

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

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

打赏作者

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

抵扣说明:

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

余额充值