mariadb系统盘迁移数据盘

停止 MariaDB 服务

sudo systemctl stop mariadb

sudo systemctl status mariadb # 应显示 "inactive"

创建新数据目录并设置权限

sudo mkdir -p /data/mysql

sudo chown mysql:mysql /data/mysql

sudo chmod 750 /data/mysql

复制原数据到数据盘新位置

sudo rsync -av /var/lib/mysql/ /data/mysql/

sudo ls -l /data/mysql/

修改 MariaDB 配置文件

vim /etc/my.cnf.d/mariadb-server.cnf

mysqld

datadir=/data/mysql #/var/lib/mysql

socket=/data/mysql/mysql.sock #/var/lib/mysql/mysql.sock

log-error=/data/mysql/mariadb.log #/var/log/mariadb/mariadb.log

pid-file=/data/mysql/mariadb.pid #/run/mariadb/mariadb.pid

应用 SELinux设置正确上下文

sudo semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"

如出现 AttributeError: module 'pkg_resources' has no attribute 'file'

修改

sudo vim /usr/lib64/python3.6/site-packages/setools/init.py

version = pkg_resources.get_distribution("setools").version

绕过版本检查

version = "4.3.0" # 手动指定版本(可选)

sudo restorecon -Rv /data/mysql

启动 MariaDB 并验证

sudo systemctl start mariadb

sudo systemctl status mariadb

如出现:mysqli::real_connect(): (HY000/2002): No such file or directory

通常表示 PHP 无法通过 Unix socket 连接到 MariaDB/MySQL ,最常见的原因是:MariaDB 的 socket 文件路径 和 PHP 配置的 socket 路径不一致

查找php.ini文件地址

php --ini # CLI 模式

php -i | grep "Configuration File" # Web 模式(需通过浏览器或 phpinfo())

vim /etc/php.ini

mysqli.default_socket = /data/mysql/mysql.sock

pdo_mysql.default_socket = /data/mysql/mysql.sock

mysql.default_socket = /data/mysql/mysql.sock

重新启动apache

sudo systemctl restart php-fpm # 或

sudo systemctl restart httpd # Apache

相关推荐
Hgfdsaqwr18 分钟前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
ruxshui32 分钟前
Python多线程环境下连接对象的线程安全管理规范
开发语言·数据库·python·sql
OceanBase数据库官方博客32 分钟前
客户案例|美的以OceanBase为基构建云中立数字化基座破局多云孤岛
数据库·oceanbase·分布式数据库
Mr_Xuhhh37 分钟前
MySQL数据表操作全解析:从创建到管理
数据库·sql·oracle
大模型玩家七七38 分钟前
向量数据库实战:从“看起来能用”到“真的能用”,中间隔着一堆坑
数据库·人工智能·python·深度学习·ai·oracle
OceanBase数据库官方博客40 分钟前
基于分层协作多智能体的数据库参数调优——OceanBase 校企研究
数据库·oceanbase·分布式数据库
2301_7634724643 分钟前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
爱学习的阿磊44 分钟前
Web开发与API
jvm·数据库·python
阳光九叶草LXGZXJ1 小时前
达梦数据库-学习-50-分区表指定分区清理空洞率(交换分区方式)
linux·运维·数据库·sql·学习
Data_Journal1 小时前
【无标题】
大数据·服务器·前端·数据库·人工智能