Debian12离线部署Mysql全网最详细教程

一、下载安装所需要的库

1、所需要的库

# 所需要的库有
libc6_2.36-9+deb12u8_amd64.deb
libgcc-s1_12.2.0-14_amd64.deb
libstdc++6_12.2.0-14_amd64.deb
gcc-12-base_12.2.0-14_amd64.deb
psmisc_23.6-1_amd64.deb
libnuma1_2.0.18-1_amd64.deb
libmecab2_0.996-14+b14_amd64.deb

2、可以去这个网址下下载:https://debian.pkgs.org/12/debian-main-amd64/ 直接搜索名称即可。
需要先安装Requires下的依赖,才能安装Download下的依赖。。。
在这里插入图片描述
3、安装依赖

sudo dpkg -i libc6_2.36-9+deb12u8_amd64.deb
sudo dpkg -i libgcc-s1_12.2.0-14_amd64.deb
sudo dpkg -i libstdc++6_12.2.0-14_amd64.deb
sudo dpkg -i gcc-12-base_12.2.0-14_amd64.deb
sudo dpkg -i psmisc_23.6-1_amd64.deb
sudo dpkg -i libnuma1_2.0.18-1_amd64.deb
sudo dpkg -i libmecab2_0.996-14+b14_amd64.deb

二、开始安装Mysql

1、官网下载对应的安装包
mysql官网网址:https://dev.mysql.com/downloads/mysql/

2、选择要安装的tar包
在这里插入图片描述
2、解压

tar xvf mysql-server_8.0.39-1debian12_amd64.deb-bundle.tar

3、包安装
某些包的安装需要一些前置条件,各位根据自己的实际情况进行安装,我的安装顺序如下。

sudo dpkg -i mysql-common_*.deb
sudo dpkg -i mysql-community-client-plugins_8.0.39-1debian12_amd64.deb
sudo dpkg -i mysql-community-client-core_8.0.39-1debian12_amd64.deb
sudo dpkg -i mysql-community-client_*.deb
sudo dpkg -i mysql-community-server-core_8.0.39-1debian12_amd64.deb
sudo dpkg -i mysql-client_8.0.39-1debian12_amd64.deb
sudo dpkg -i mysql-community-server_*.deb
sudo dpkg -i mysql-server_*.deb

sudo apt-get install -f

4、安装过程会出现以下画面:
直接回车
在这里插入图片描述
保持默认强密码模式,直接回车
在这里插入图片描述
5、修改mysql密码

# 登录mysql8.0,空密码登录,第4步没有设置密码
sudo mysql -uroot

修改默认认证方式和密码

# 进入数据库
use mysql
# 修改root@localhost用户的密码,密码:大写英文 + 特殊字符 + 数字
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
# 创建 root 远程账号,用于远程登录
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
# 重载授权表
FLUSH PRIVILEGES;
# 退出
exit

配置开机启动

systemctl enable mysql && systemctl daemon-reload && systemctl restart mysql && systemctl status mysql

到此 Mysql 安装完成。。。。
.
.
.
若想修改my.cnf的配置
(你们不用做这一步,这是博主自己需要部署要做的特别修改罢了)

systemctl stop mysql
rm -rf /var/lib/mysql
vi /etc/mysql/my.cnf

粘贴以下内容

[mysqld]
max_connections = 1000
wait_timeout = 7200
interactive_timeout = 7200

# 1、需要保证这个datadir目录下为空;
# 2、需要保证对datadir目录赋予mysql 权限,执行命令:chown -R mysql:mysql /data/mysql
datadir=/var/lib/mysql


bind-address=0.0.0.0
default_authentication_plugin=mysql_native_password
# 排除掉 NO_ZERO_DATE and NO_ZERO_IN_DATE
sql_mode=''
# 表名忽略大小写
lower_case_table_names = 1
# 只输出 error 级别的日志
log_error_verbosity = 1
default-time-zone = '+08:00'
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8

重启mysql

# 重启mysql
systemctl restart mysql

文章参考:https://www.suheng.site/2024/07/17/Debian12%E5%9C%A8%E7%BA%BF%E5%92%8C%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85MySQL%E6%8C%87%E5%AE%9A%E7%89%88%E6%9C%AC/