linux下,MySQL默认的数据文档存储目录为/var/lib/mysql。

0.说明
Linux下更改yum默认安装的mysql路径datadir。
linux下,MySQL默认的数据文档存储目录为/var/lib/mysql。
假如要把MySQL目录移到/home/data。

1.创建新目录
cd /home
mkdir data
2.把MySQL服务进程停掉:
  mysqladmin -u root -p shutdown
  

3. 把/var/lib/mysql整个目录移到/home/data
  mv /var/lib/mysql /home/data/
  这样就把MySQL的数据文档移动到了/home/data/mysql下
  

4.找到my.cnf配置文档
  假如/etc/目录下没有my.cnf配置文档,请到/usr/share/mysql/下找到*.cnf文档,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:

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 。操作如下:

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。

vi /etc/init.d/mysql
  #datadir=/var/lib/mysql    (注释此行)
  datadir=/home/data/mysql   (加上此行)
如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;

最后 做一个mysql.sock 链接:

ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
7.重新启动MySQL服务
/etc/init.d/mysql start
  或用reboot命令重启Linux
  假如工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。

chown -R mysql:mysql /home/data/mysql/  ← 改变数据库的归属为mysql
chmod 700 /home/data/mysql/test/  ← 改变数据库目录属性为700
chmod 660 /home/data/mysql/test/*  ← 改变数据库中数据的属性为660

上一篇:IDEA 运行maven命令时报错: -Dmaven.multiModuleProjectDirectory system propery is not set


下一篇:Hadoop源码学习笔记(4) ——Socket到RPC调用