raksmart活动促销

分享

写回答

发帖

linux独立服务器更改数据库位置方法

catmonkey

发表于 2012-9-9 11:18:19 | 显示全部楼层

大漠孤狼 发表于 2012-9-7 04:40 PM
你这个方法对数据量小的适用,数据量大的话mysql要停很久了
一般不用直接移动,而是在mysql运行的时候同步 ...

恩,大数据量,先用rsync同步。很好的建议,感谢。
回复 支持 反对

使用道具 举报

HostEase HostEase 1807 人阅读 | 3 人回复

回答|共 3 个

发表于 2012-9-7 08:04:23 | 显示全部楼层 |阅读模式

MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

  1、home目录下建立data目录
    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中。命令如下:
[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 。操作如下:

   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服务
  /etc/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。

评分

参与人数 1金币 +6 银币 +8 收起 理由
nisheng + 6 + 8 赞一个!

查看全部评分

RAKSmart

nisheng

发表于 2012-9-7 09:09:44 | 显示全部楼层

没有用过服务器,不过感谢楼主分享{:soso_e181:}
回复 支持 反对

使用道具 举报

大漠孤狼

发表于 2012-9-7 16:40:38 | 显示全部楼层

你这个方法对数据量小的适用,数据量大的话mysql要停很久了
一般不用直接移动,而是在mysql运行的时候同步一次目录,然后关掉mysql再同步一次,第二次一般很短时间就完成了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

HostEase讨论

HostEase
优惠码:2026
介绍:HostEase是较早开拓中国市场的美国主机商之一,专业提供虚拟主机、香港美国日本服务器、站群服务器和高防服务器等IDC业务,凭借优异性能的产品以及高水准的技术支持而备受国内外用户的欢迎。
查看更多

catmonkey

发表主题