1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > linux系统如何移动mysql存放文件的位置

linux系统如何移动mysql存放文件的位置

时间:2019-07-06 04:26:56

相关推荐

linux系统如何移动mysql存放文件的位置

查看mysql情况

指令 ps -ef | grep mysql 得出结果

1.root 17659 1 0 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql –socket=/var/lib/mysql/mysql.sock –log-error=/var/log/mysqld.log –pid-file=/var/run/mysqld/mysqld.pid

2.mysql 17719 17659 0 ? 03:14:57 /usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –pid-file=/var/run/mysqld/mysqld.pid –skip-external-locking –socket=/var/lib/mysql/mysql.sock

usr/bin/mysql 是指:mysql的运行路径

var/lib/mysql 是指:mysql数据库文件的存放路径

usr/lib/mysql 是指:mysql的安装路径

移动mysql存放文件位置

假如要把目录移到/home/data下需要进行下面几步:

1、home目录下建立data目录

cd /homemkdir 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、找到f配置文件

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

[root@test1 mysql]# cp /usr/share/mysql/my-f/etc/f

5、编辑MySQL的配置文件/etc/f

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:

vi f (用vi工具编辑f文件,找到下列数据修改之)[mysql](加上此行)socket=/home/data/mysql/mysql.sock(加上此行)[mysqld]#datadir=/var/lib/mysql(原内容,为了更稳妥用“#”注释此行)#socket=/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)datadir=/home/data/mysql(加上此行)socket=/home/data/mysql/mysql.sock(加上此行)

6、修改MySQL启动脚本/etc/init.d/mysql(如果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/mysqlstart

或用reboot命令重启Linux

如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。

注意

如果更换mysql数据目录后出现:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

说明无法通过socket文件/var/lib/mysql/mysql.sock连接到mysql服务器,也就是说对于mysql程序来说,尽管把socket文件从/var/lib/mysql/mysql.sock转移到了/home/data/mysql/mysql.sock,在f里设置了,mysqld是知道了,但是对于mysql还是会从默认的安装目录/var/lib/mysql/里找这个mysql.sock文件,找不着,就不知道从哪里启动了。

解决方案一:设置软连接

ln –s /home/data/mysql/mysql.sock /var/lib/mysql/

做完软连接,重启mysql服务,再次通过mysql程序连接就可以连上了。

解决方案二:检查f配置,是否有如下配置,如果没有,加上

[mysql]socket=/home/data/mysql/mysql.sock

帮助命令

1.查找命令

find / -name f#在根目录下查找文件f,表示在整个硬盘查找find /etc -name f#在/etc目录下文件ffind /etc -name '*srm*'#使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件find . -name 'srm*' #表示当前目录下查找文件名开头是字符串‘srm’的文件

2.查看文件占用大小

du -sh /* 查看根目录下所有文件的大小du -sh /home/* 查看 home目录下所有文件的大小du -sh * 查看当前目录下所有文件的大小

3.查看硬盘使用情况

df -h

更多博客内容详见我的博客 Wang's Blog

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。