我的 mysql 数据库目录已满。所以我想将其更改为另一个有大量空间的分区。我使用的数据库版本是MySQL 5.7.23,操作系统是CentOS 7。
搜索互联网后我得到了 2 个解决方案。第一个如下:
首先,我创建了一个指向新驱动器的系统链接。然后我尝试启动mysql,每次启动都失败。删除系统链接后它将启动。
我得到的错误是
[Note] InnoDB: Highest supported file format is Barracuda.
2018-08-21T10:08:04.839330Z 0 [ERROR] InnoDB: Operating system error number
13 in a file operation.
2018-08-21T10:08:04.839349Z 0 [ERROR] InnoDB: The error means mysqld does
not have the access rights to the directory.
2018-08-21T10:08:04.839360Z 0 [ERROR] InnoDB: os_file_readdir_next_file()
returned -1 in directory ./, crash recovery may have failed for some .ibd
files!
2018-08-21T10:08:04.839385Z 0 [ERROR] InnoDB: Plugin initialization aborted
with error Generic error
2018-08-21T10:08:05.440529Z 0 [ERROR] Plugin 'InnoDB' init function returned
error.
2018-08-21T10:08:05.440597Z 0 [ERROR] Plugin 'InnoDB' registration as a
STORAGE ENGINE failed.
2018-08-21T10:08:05.440610Z 0 [ERROR] Failed to initialize builtin plugins.
2018-08-21T10:08:05.440617Z 0 [ERROR] Aborting
2018-08-21T10:08:05.440665Z 0 [Note] Binlog end
2018-08-21T10:08:05.440770Z 0 [Note] Shutting down plugin 'CSV'
2018-08-21T10:08:05.441349Z 0 [Note] /usr/sbin/mysqld: Shutdown complete
第二,https://www.digitalocean.com/community/tutorials/how-to-move-a- mysql-data-directory-to-a-new-location-on-ubuntu-16-04 我按照这个网址,之后当尝试启动 mysql 时继续收到此错误 Cant connect to localhost (111) (Error: 2003) 。这次 mysqld.log 文件中没有显示任何内容
答案1
该消息显示“mysqld 没有该目录的访问权限”。所以你应该检查你创建的新目录的权限。该目录通常应由用户 mysql、组 mysql 拥有。您还应该检查新目录的所有父目录至少具有 mysql 的执行权限。