首先,确保数据库服务停止。可以使用命令`/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