当前位置: 首页 > news >正文

江西省城乡住房建设厅培训网站旅游网站建设网站

江西省城乡住房建设厅培训网站,旅游网站建设网站,小程序商城模板免费,wordpress模板淘宝客模板文章目录 0 背景1 备份现有数据库数据2 停止 MySQL 服务3 复制现有的 MySQL 数据到新目录4 修改 MySQL 配置文件5 更新 AppArmor 或 SELinux 配置(如有启用)6. 修改 MySQL 系统文件中的 datadir7. 启动 MySQL 服务8. 验证更改参考资料 0 背景 在原先划分…

文章目录

    • 0 背景
    • 1 备份现有数据库数据
    • 2 停止 MySQL 服务
    • 3 复制现有的 MySQL 数据到新目录
    • 4 修改 MySQL 配置文件
    • 5 更新 AppArmor 或 SELinux 配置(如有启用)
    • 6. 修改 MySQL 系统文件中的 datadir
    • 7. 启动 MySQL 服务
    • 8. 验证更改
    • 参考资料

0 背景

在原先划分ubuntu磁盘分区的时候,给/分区划分的空间很少,但是其他的分区还有很多的空间。
故想把 mysql 数据库的数据迁移到另外的磁盘分区中。

1 备份现有数据库数据

更改 datadir 前,建议备份现有的 MySQL 数据,以防数据丢失。使用以下命令导出所有数据库:

mysqldump --all-databases > all-databases-backup.sql

2 停止 MySQL 服务

  • 查看 mysql 当前状态
    service mysql status 或者 systemctl status mysql
    在这里插入图片描述
    stop mysql
    sudo systemctl stop mysql
    再次查看 mysql 的状态
    在这里插入图片描述

3 复制现有的 MySQL 数据到新目录

复制当前的 MySQL 数据目录内容到新位置:
在 mysql 的命令中,运行下述指令,即可查看到数据文件的地址。
show global variables like "%datadir%";

我电脑的原始的 mysql 数据文件保存路径为:/var/lib/mysql/

数据迁移:

sudo cp -R /var/lib/mysql /home/soft/mysql_datadir/
sudo chown -R mysql:mysql /home/soft/mysql_datadir/mysql
sudo chmod 755 /home/soft/mysql_datadir/mysql

【注意】:

我最初选择放在我的家目录下,程序一直报错,没有权限访问该文件夹。
原来路径: /home/jie/soft/mysql_data/mysql 报错
新路径是 : /home/soft/mysql_data/mysql 正常使用
mysql 的数据存储,放在某个用户的家目录下,确实也不合适。因为可能会导致其他用户没有权限访问。

4 修改 MySQL 配置文件

我的电脑的 mysql 系统目录是: /etc/mysql/,找到 MySQL 的配置文件并更新 datadir:

根据自己的 mysql 选择下述两个文件的其中一个文件进行编辑:

sudo vim /etc/mysql/my.cnf

或者, (我用的是这个)

在这里插入图片描述
在修改前,可先备份。
针对配置文件进行修改:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到 datadir 这一行并更改为新的目录,更新 socket 位置为新的 socket:

#
# The MySQL database server configuration file.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html# Here is entries for some specific programs
# The following values assume you have at least 32M ram[mysqld]
#
# * Basic Settings
#
user            = mysql
# pid-file      = /var/run/mysqld/mysqld.pid
# socket        = /var/run/mysqld/mysqld.sock
#socket = /var/lib/mysql/mysql.sock
socket  = /home/soft/mysql_data/mysql/mysql.sock#port           = 3306
datadir = /home/soft/mysql_data/mysql

5 更新 AppArmor 或 SELinux 配置(如有启用)

我只更新了 AppArmor 没有更新 SELinux

如果你的系统启用了 AppArmor 或 SELinux,可能需要更新其配置以允许 MySQL 访问新的 datadir。

AppArmor: 编辑 AppArmor 配置文件

sudo vim /etc/apparmor.d/usr.sbin.mysqld

添加新的 datadir 路径:

/home/soft/mysql_datadir/mysql/ r,
/home/soft/mysql_datadir/mysql/** rwk,

usr.sbin.mysqld 文件内容:

# Allow data dir access/var/lib/mysql/ r,/var/lib/mysql/** rwk,/home/soft/mysql_data/mysql/ r,/home/soft/mysql_data/mysql/** rwk,

保存后,重新加载 AppArmor 配置:

sudo systemctl restart apparmor

SELinux:如果使用 SELinux,你需要更新文件的安全上下文(我没有用到这个):

sudo semanage fcontext -a -t mysqld_db_t "/home/jie/soft/mysql_datadir(/.*)?"
sudo restorecon -Rv /home/jie/soft/mysql_datadir

6. 修改 MySQL 系统文件中的 datadir

编辑 MySQL 系统文件 /lib/systemd/system/mysql.service:

sudo vim /lib/systemd/system/mysql.service

找到以下部分:

ExecStartPre=/usr/share/mysql/mysql-systemd-start pre

在这一行的下方添加:

ExecStartPre=/bin/mkdir -p /home/jie/soft/mysql_datadir/mysql
ExecStartPre=/bin/chown -R mysql:mysql /home/jie/soft/mysql_datadir/mysql

效果如下图所示:
在这里插入图片描述

保存后,刷新 systemd 配置:

sudo systemctl daemon-reload

7. 启动 MySQL 服务

重新启动 MySQL 服务:

sudo systemctl start mysql

然后检查 MySQL 状态:

sudo systemctl status mysql

8. 验证更改

验证 MySQL 是否使用了新的 datadir:

mysql -u root -p -e "SHOW VARIABLES LIKE 'datadir';"

或者

mysql -h 127.0.0.1 -P 3306 -u root -p -e "SHOW VARIABLES LIKE 'datadir';"

如下图所示,返回新的 datadir 路径 /home/soft/mysql_datadir/mysql
在这里插入图片描述

如果一切正常,MySQL 将会在新的 datadir 下运行。如果遇到任何问题,可以通过日志文件 /home/soft/mysql_datadir/mysql/error.log 检查更多细节。

参考资料

  • MySQL更换数据存储路径的方法
  • chatgpt 4o
http://www.yayakq.cn/news/943455/

相关文章:

  • 在线免费网站wordpress 固定链接如何设置
  • 校园网站建设划分vlan工业和信息部网站备案
  • 腾讯云快速建站烟台做网站排名
  • 咋做黄页网站谷歌镜像网站怎么做
  • 网站网页是怎么做的物业管理系统业务流程图
  • iis如何用ip地址做域名访问网站医院网络营销推广方案
  • 企业网站建设的缺点自己制作小程序怎么做
  • dedecms模板站源码淘宝客wordpress引流
  • 汕头网站建站公司wordpress说说
  • 网站打开404错误怎么解决百度竞价排名名词解释
  • 织梦旅游网站教育机构招聘网站建设
  • .net 企业网站源码即墨网站建设招聘
  • 东莞seo建站怎么投放网络营销主要是什么
  • 站长统计幸福宝网站统计重庆今天刚刚发生的新闻
  • 长沙模板建站源码群晖ds1817做网站
  • 百度快照是怎么做上去的seo优化有哪些
  • 网站怎么做404 301怎样做元古建筑的网站结构图
  • 如何做公司的英文网站网站容易做吗
  • 免费做外贸的网站平台河南省建设执业资格中心网站
  • 南京个人网站建设wordpress免费 360插件
  • 网站后台 js框架网站开发的基本流程和步骤
  • 郑州营销网站黑群晖 frp wordpress 访问
  • 西安网站开发培训价格有什么做旅游攻略的网站好
  • 八年级信息网站怎么做wordpress添加可链接照片
  • 网站建设法律可行性河北建设集团
  • 延边州建设厅网站北京群体性聚集
  • 做网站成功的企业自己制作公司官网
  • 网站设计的公司价格文档里链接网站地址怎么做
  • 哪个公司搭建网站网站建设需求模版
  • 网站制作比较好的公司英文网站建设 淮安