您的位置:首页 > Web前端

fedora修改mysql数据库默认数据存放路径

2013-04-07 21:58 417 查看
linux下,MySQL默认的数据文档存储目录为/var/lib/mysql。假如要把MySQL目录移到/tmp/ramdisk0下需要进行下面几步(ramdisk0为挂载的ram盘,为了读写速度更快和保护磁盘):

  1、/tmp目录下建立ramdisk0目录(怎样挂载ram盘略)

  cd /tmp

  mkdir ramdisk0

  2、把MySQL服务进程停掉:

  mysqladmin -u root -p shutdown

  3、把/var/lib/mysql整个目录移到/tmp/ramdisk0
  cp /var/lib/mysql /tmp/ramdisk0/

  这样就把MySQL的数据文档移动到了/tmp/ramdisk0下

  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]
 

         datadir  = /tmp/ramdisk0/mysql (自己添加)

  port   = 3306

  #socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)

  socket  = /tmp/mysql.sock   (加上此行)

  6、修改MySQL启动脚本/etc/init.d/mysql

  最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成您现在的实际存放路径:/tmp/ramdisk0/mysql。

  [root@test1 etc]# vi /etc/init.d/mysql

  #datadir=/var/lib/mysql    (注释此行)

  datadir=/tmp/ramdisk0/mysql   (加上此行)

    最后 做一个mysql.sock 链接:
    ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
  7、重新启动MySQL服务

  /etc/init.d/mysql start

  或用reboot命令重启Linux

注:当修改默认路径后,很有可能导致不能创建mysql.sock,这时可以查看错误日志,再根据错误日志解决问题。我的问题就是出现IP绑定错误,用

ps -A | grep mysqld 可以看到已经启动一个mysqld进程。直接用kill -9 +(进程号)杀掉该进程。但是我们的ram盘每次系统重启的时候数据会丢失,这样就导致又会出现这样的问题,我们可以直接在/etc/rc.local中添加一条语句,这条语句用来杀死该进程。这时会用到sed ,awk等截取进程号。 例子:

ps -A | grep mysqld | grep -v grep | cut -c 1-6 | xargs kill -9

或者:<
b032
/span>

ps -A | grep mysqld | grep -v grep | awk '{print $2}' | xargs kill -9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: