我们知道,在UNIX/linuxxiaMySQL默认的数据文件存储目录是/var/lib/mysql。如果想更改MySQL数据库目录位置,比如把目录转移到/home/data下,该怎么办呢?看看下面几个步骤: 1、在home目录下建立data目录 [root@test1 mysql]# cd /home [root@test1 mysql]# mkdir data 2、把MySQL服务进程停掉: [root@test1 mysql]# mysqladmin -u root -p shutdown 3、把/var/lib/mysql整个目录移到/home/data,这样就把MySQL的数据文件移动到了/home/data/mysql下 [root@test1 mysql]# mv /var/lib/mysql /home/data/ 4、找到my.cnf配置文件 如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下: [root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 5、编辑MySQL的配置文件/etc/my.cnf 为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下: [root@test1 mysql]# vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之) # The MySQL server [mysqld] port = 3306 #socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行) socket = /home/data/mysql/mysql.sock (加上此行) 6、修改MySQL启动脚本/etc/init.d/mysql 最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。 [root@test1 etc]# vi /etc/init.d/mysql #datadir=/var/lib/mysql (注释此行) datadir=/home/data/mysql (加上此行) 7、重新启动MySQL服务 [root@test1 mysql]#/etc/init.d/mysql start 或用reboot命令重启Linux 如果工作正常移动就成功了,否则对照前面的7步再检查一下。 还要注意目录的属主和权限问题。 |