MySQL数据库迁移data文件夹位置步骤详解

时间:2020-10-16 17:59:16 数据库操作系统 我要投稿

MySQL数据库迁移data文件夹位置步骤详解

  一、关闭apache和mysql.

  复制代码 代码如下:

  service httpd stop

  service mysqld stop

  二、将/var/lib下的mysql目录mv(移动)到data目录。

  为什么要用mv命令,而不用cp命令呢?应为linux文件系统特殊性,mv命令能保留文件的所有属性和权限,尤其是selinux属性。如果用cp命令,就需要回头再去设置mysql文件夹的selinux属性,本人因很头疼selinux故能避则避。

  复制代码 代码如下:

  mv -R /var/lib/mysql /data/mysql

  三、修改mysql配置文件/etc/my.cnf。将datadir和socket的路径改为/data目录下。

  复制代码 代码如下:

  [mysqld]

  #datadir=/var/lib/mysql ------原系统默认路径

  datadir=/home/mysql ------现有路径

  #socket=/var/lib/mysql/mysql.sock ------原socket路径现

  socket=/home/mysql/mysql.sock ------现有路径

  [mysqld_safe]

  socket=/home/mysql/mysql.sock -----现有路径

  [client]

  socket=/home/mysql/mysql.sock -----现有路径

  [mysql.server]

  socket=/home/mysql/mysql.sock -----现有路径

  四、修改php配置文件(/etc/php.ini)中的socket路径。

  没错,千万不要忘记了php.ini里也要指明socket的.路径,否则php网站会无法连接到数据库的。php.ini里默认socket路径是空的,默认是指向/var/lib/mysql,所以也要改为/data/mysql.

  复制代码 代码如下:

  [mysql]

  mysql.default_socket = /home/mysql/mysql.sock

  [mysqli]

  mysql.default_socket = /home/mysql/mysql.sock

  五、启动apache.mysql.

  复制代码 代码如下:

  service httpd start

  service mysqld start