准备工作

更新系统

# apt-get update

Debian12源码安装mysql5.7.44_mysql5.7.44


安装依赖包

# apt-get install build-essential cmake libncurses5-dev libssl-dev libaio1 libaio-dev zlib1g-dev libreadline-dev bison flex libjemalloc-dev libnuma-dev libboost-all-dev

Debian12源码安装mysql5.7.44_mysql5.7.44_02


手动安装Boost 1.59.0(mysql5.7.44特定版本)

下载boost1.59源码包

# wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

Debian12源码安装mysql5.7.44_mysql5.7.44_03


编译安装

#yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y

#tar xf boost_1_59_0.tar.gz

Debian12源码安装mysql5.7.44_debian12_04


#cd boost_1_59_0

Debian12源码安装mysql5.7.44_debian12_05


#./bootstrap.sh

Debian12源码安装mysql5.7.44_数据库_06


#./b2 -j4

Debian12源码安装mysql5.7.44_mysql5.7.44_07


#./b2 install # 头文件(-DWITH_BOOST=) /usr/local/include/ 库文件 /usr/local/lib/

Debian12源码安装mysql5.7.44_数据库_08


下载

#wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44.tar.gz

Debian12源码安装mysql5.7.44_debian12_09


#tar xzf mysql-5.7.44.tar.gz

Debian12源码安装mysql5.7.44_操作系统_10


#cd mysql-5.7.44

Debian12源码安装mysql5.7.44_mysql5.7.44_11


编译安装

配置与编译

#mkdir build

#cd build

Debian12源码安装mysql5.7.44_debian12_12


# cmake .. \

-DWITH_BOOST=/root/boost_1_59_0 \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DINSTALL_DOCDIR=share/doc/mysql-5.7.44 \

-DINSTALL_MANDIR=/usr/local/mysql/share/man \

-DINSTALL_INFODIR=/usr/local/mysql/share/info \

-DINSTALL_SBINDIR=/usr/local/mysql/bin \

-DINSTALL_SCRIPTDIR=/usr/local/mysql/bin \

-DINSTALL_SUPPORTFILESDIR=/usr/local/mysql/share/mysql \

-DINSTALL_PLUGINDIR=/usr/local/mysql/lib/plugin \

-DINSTALL_EMBEDDED_INCLUDEDIR=/usr/local/mysql/include/mysql-embedded \

-DINSTALL_EMBEDDED_LIBDIR_REL=lib/mysql-embedded \

-DINSTALL_EMBEDDED_BINDIR=/usr/local/mysql/bin \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_LIBWRAP=0 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_DEBUG=0 \

-DWITH_BOOST=/usr \

-DWITH_UNIT_TESTS=0 \

-DWITH_NUMA=0 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READ_ONLY_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_CMAKE=1

Debian12源码安装mysql5.7.44_debian12_13


#make -j$(nproc)

Debian12源码安装mysql5.7.44_debian12_14


安装mysql

将编译好的

# make install

Debian12源码安装mysql5.7.44_操作系统_15


配置mysql数据库

创建

#groupadd mysql

#useradd -r -g mysql mysql

Debian12源码安装mysql5.7.44_debian12_16


添加

#echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc

#source ~/.bashrc

Debian12源码安装mysql5.7.44_数据库_17



初始化数据库

创建my.cnf文件

#cp /etc/mysql/my.cnf.fallback /etc/mysql/my.cnf

Debian12源码安装mysql5.7.44_mysql5.7.44_18


初始化

# chown -R mysql:mysql /usr/local/mysql

# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql

这里使用了

Debian12源码安装mysql5.7.44_debian12_19


创建

创建一个简单的

#vi /etc/systemd/system/mysql.service

在文件中添加以下内容:

[Unit]

Descriptinotallow=MySQL Community Server

After=network.target


[Service]

Type=forking

User=mysql

Group=mysql

PIDFile=/usr/local/mysql/tmp/mysql.pid

ExecStart=/usr/local/mysql/bin/mysqld

ExecStop=/usr/local/mysql/bin/mysqladmin shutdown

TimeoutStopSec=60s

RestartSec=1s

Restart=always


[Install]

WantedBy=multi-user.target

Debian12源码安装mysql5.7.44_debian12_20


保存并退出。

配置开启启动服务,并启动服务

#systemctl daemon-reload

#systemctl enable mysql

#systemctl restart mysql

Debian12源码安装mysql5.7.44_mysql5.7.44_21


检查

# systemctl status mysql

Debian12源码安装mysql5.7.44_操作系统_22


登录

# mysql -u root

Debian12源码安装mysql5.7.44_mysql5.7.44_23


设置

#ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';

#FLUSH PRIVILEGES;

#EXIT;

Debian12源码安装mysql5.7.44_mysql5.7.44_24



安全配置

运行安全脚本来增强

# mysql_secure_installation

Debian12源码安装mysql5.7.44_debian12_25


根据提示完成安全配置。

安装完成!