Mysql报Errcode:28,原因:数据文件目录所在硬盘分区存储已满,无法写入
解决办法:将Mysql库迁移到别的分区即可
具体操作步骤如下:
1.在另一个有空闲空间的硬盘分区创建新的目录,如下:
[root@localhost mysql]# mkdir /var/lib/data/mysql/
2.将Mysql原始数据库数据目录文件,cp或mv到刚新建的数据目录下,如下:
du -h --max-depth=1 /var/lib/mysql/
[root@localhost mysql]# cp -a /var/lib/mysql /var/lib/data/mysql/
命令参数:
-a : 此参数的效果和同时指定”-dpR”参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
3.修改配置文件my.cnf
[root@localhost mysql]#vim /etc/my.cnf
--------------------------------------------------
[client]
port= 3308
socket= /var/lib/data/mysql/mysql/mysql.sock -----路径改到新的存储目录下/var/lib/data/mysql/mysql
[mysqld]
socket= /var/lib/data/mysql/mysql/mysql.sock -----路径改到新的存储目录下/var/lib/data/mysql/mysql
datadir= /var/lib/data/mysql/mysql -----路径改到新的存储目录下/var/lib/data/mysql/mysql
[mysqld_safe]
socket=/var/lib/data/mysql/mysql/mysql.sock -----路径改到新的存储目录下/var/lib/data/mysql/mysql
[mysql.server]
socket=/var/lib/data/mysql/mysql/mysql.sock -----路径改到新的存储目录下/var/lib/data/mysql/mysql
修改[client]和[mysqld]下的数据目录即可.
4.重启mysql
yum在线安装的Mysql
[root@localhost mysql]#service mysqld restart
离线安装的Mysql
[root@localhost mysql]#service mysql restart