Ubuntu下更改MySQL数据库文件的目录

首先,确保数据库服务停止。可以使用命令`/etc/init.d/mysql stop`或`stop mysql`完成。然后,在目标位置创建数据库文件目录。这里推荐在/data下创建新目录,如`/data/mysqldb`,并使用`mkdir`命令创建新目录。接着,通过`cp -r`命令将原数据库文件目录复制至新位置,即`/var/lib/mysql`复制至`/...
Ubuntu下更改MySQL数据库文件的目录
公司的Ubuntu服务器在不同逻辑分区存放各个系统的目录,以提高资源分配效率。例如,mysql数据库文件默认存放在/var/lib/mysql目录下,该分区大小有限,不足以容纳整个数据库文件。而另一个系统目录/data拥有大量空间,满足需求。因此,调整数据库文件存放位置成为必要。以下步骤详细描述了如何在Ubuntu下更改MySQL数据库文件目录。

首先,确保数据库服务停止。可以使用命令`/etc/init.d/mysql stop`或`stop mysql`完成。

然后,在目标位置创建数据库文件目录。这里推荐在/data下创建新目录,如`/data/mysqldb`,并使用`mkdir`命令创建新目录。接着,通过`cp -r`命令将原数据库文件目录复制至新位置,即`/var/lib/mysql`复制至`/data/mysqldb`。

接着,修改my.cnf文件。使用`vim /etc/mysql/my.cnf`编辑器打开文件,并将`datadir = /var/lib/mysql`修改为`datadir = /data/mysqldb/mysql`。注意,my.cnf文件中socket位置并不在数据库文件所在位置,无需创建`mysql.sock`链接。

调整数据库权限至关重要。使用`chown -R mysql:mysql /data/mysqldb/mysql/`命令改变数据库文件目录归属。同时,调整数据库目录whois的属性为700,数据表属性为660。

更新文件usr.sbin.mysqld,以确保数据库服务在重启后能正常运行。在`/etc/apparmor.d/usr.sbin.mysqld`文件中,将与/var/lib/mysql相关的权限调整为指向/data/mysqldb/mysql/。

最后,启动数据库服务。使用`/etc/init.d/apparmor restart`和`/etc/init.d/mysql restart`或`restart mysql`命令重新启动服务。

完成上述步骤后,MySQL数据库文件已成功迁移到新的目录,资源分配得到优化,操作流程至此结束。2024-10-15
mengvlog 阅读 9 次 更新于 2025-07-20 20:15:02 我来答关注问题0
  • 在Ubuntu 8.04下,若MySQL因更改datadir目录导致无法启动,可以通过以下步骤解决:暂停AppArmor对MySQL的监控:执行命令 sudo touch /etc/apparmor.d/disable/usr.sbin.mysqld 来暂停AppArmor对 usr.sbin.mysqld 的监控。这一步是为了解决Ubuntu的安全特性对MySQL数据目录访问的限制问题。重启AppArmor服务:...

  • 更改Ubuntu下MySQL数据库存储位置的步骤如下:在 gedit中找到datadir这一行,将后面等于号之后的内容更改为/home/mysql然后保存退出。自Ubuntu 7.10开始,Ubuntu就开始使用一种安全软件叫做AppArmor。创建新数据库的命令为:CREATE DATABASE mysqldb,数据库文件夹在默认存储位置下生成。操作数据库前需停止数...

  •  翡希信息咨询 Ubuntu与windows双系统下共用MySQL数据库的方法_MySQL

    使用挂载命令将Windows的D分区挂载至Ubuntu的/media/wind目录,并确保挂载方式为读写。设置目录权限:使用sudo chown命令,将/media/wind/mysql/data目录的权限设置为用户及用户组均为mysql。修改MySQL配置文件:编辑/etc/mysql/my.cnf文件,将datadir = /var/lib/mysql更改为实际的挂载位置,即datadir=/...

  • 以下步骤详细描述了如何在Ubuntu下更改MySQL数据库文件目录。首先,确保数据库服务停止。可以使用命令`/etc/init.d/mysql stop`或`stop mysql`完成。然后,在目标位置创建数据库文件目录。这里推荐在/data下创建新目录,如`/data/mysqldb`,并使用`mkdir`命令创建新目录。接着,通过`cp -r`命令将原数据...

  • 先输入:set noreadonly 再输入:wq 保存后退出 将 /var/lib/mysql/ r,/var/lib/mysql/** rwk,改成 /data/mysql/mysql/ r,/data/mysql/mysql/** rwk,将 /var/lib/mysql{,d}/mysql{,d}.sock rw,改成 /data/mysql/mysql{,d}/mysql{,d}.sock rw,验证修改成功。

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部