胡子哥哥
1.停止数据库服务: 使用/etc/init.d/mysql stop 或者 stop mysql 2. 在目标位置(/data)创建数据库文件的目录(如/mysqldb),并复制(如果不再使用默认的位置,则可以直接mv原先数据库文件到新目录下)原先的数据库文件目录到该目录下: cd /data mkdir mysqldb cp -r /var/lib/mysql /data/mysqldb/ 经过一段时间的等待后,在/data/mysqldb/下面就有了原先默认的mysql数据库文件目录的拷贝“/mysql” 3.修改my.cnf文件 # vim /etc/mysql/my.cnf 将datadir = /var/lib/mysql 改为 datadir = /data/mysqldb/mysql 另外由于当前my.cnf 中的socket = /var/run/mysqld/mysqld.sock(而并非像网上所说的sock = /var/lib/mysql/mysql.sock),即socket的位置并不在数据库文件所在的位置,因此可以不做类似网上其他网页所说的,要使用以下的命令做一个mysql.sock 链接: ln -s /data/mysqldb/mysql/mysql.sock /var/lib/mysql/mysql.sock (需要从/home/data/mysql下复制一份过来) 4. 修改数据库的权限: # chown -R mysql:mysql /data/mysqldb/mysql/ ← 改变数据库文件目录的归属为mysql # chmod 700 /data/mysqldb/mysql/whois/ ← 改变数据库目录whois的属性为700 # chmod 660 /data/mysqldb/mysql/whois/* ← 改变数据库中数据表的属性为660 5. 修改文件usr.sbin.mysqld # vim /etc/apparmor.d/usr.sbin.mysqld 把 /var/lib/mysql r, /var/lib/mysql/** rwk, 改成 /data/mysqldb/mysql/ r, /data/mysqldb/mysql/** rwk, 注意:没有该步骤的话,将导致数据库服务无法重启,好像在重启,但是一直卡住无反应。 6.启动mysql服务器 /etc/init.d/apparmor restart /etc/init.d/mysql restart (或者使用 restart mysql)