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]
#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
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
或者:
ps -A | grep mysqld | grep -v grep | awk '{print $2}' | xargs kill -9