大部分Linux发行版本自带的MySQL数据库,数据存储路径在/var/lib/mysql下,如果该系统充当Web服务器,这个位置似乎不太恰当,通过下面的几个步骤,可以将数据库迁移到别的位置。
创建你想存储的目录
mkdir -p /web/db chown root.root /web chmod 755 /web chown mysql.mysql /web/db
如果已经有数据了,拷贝
/var/lib/mysql/下的所有文件到新位置,注意,不要mysql这个目录了cp -a /var/lib/mysql/* /web/db/修改mysql的配置文件
/etc/my.cnf(或别的位置),在[client]区段里,加入socket = /web/db/mysql.sock在[mysqld]区段里,加入socket = /web/db/mysql.sock datadir = /web/db修改php的配置文件
/etc/php.ini(或别的位置),增加或者修改下面两行mysql.default_socket = /web/db/mysql.sock mysqli.default_socket = /web/db/mysql.sock上面两行应该分属于[mysql]和[mysqli]区段,别写在一起了。
重启MySQL,看看启动是否成功,如果失败,根据错误日志进行修改,大部分情况下,可能是权限问题,可以参考这篇文档。
重启Apache,测试php连接数据库是否成功,主要是看是否会报关于
mysql.sock的错误