![MySQL 服务器由于缺少权限而无法启动,但已授予](https://linux22.com/image/881764/MySQL%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%94%B1%E4%BA%8E%E7%BC%BA%E5%B0%91%E6%9D%83%E9%99%90%E8%80%8C%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%EF%BC%8C%E4%BD%86%E5%B7%B2%E6%8E%88%E4%BA%88.png)
我刚刚将旧的数据库复制到 /var/lib/mysql,然后出现了一些奇怪的情况。首先,权限是“root:root”,因为我使用“sudo mc”从备份位置复制备份。我运行了 chmod 和 chown 以适应旧权限,甚至与另一台计算机上的全新安装进行了比较,权限应该没问题。但是,我仍然收到消息,mysqld 无法 chdir 到 /var/lib/mysql
这里是控制台输出:
thopiekar@gate:~$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: activating (start-post) (Result: exit-code) since Di 2016-05-03 22:44:07 CEST; 15s ago
Process: 9760 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
Process: 9754 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 9760 (code=exited, status=1/FAILURE); : 9761 (mysql-systemd-s)
Tasks: 2 (limit: 512)
CGroup: /system.slice/mysql.service
└─control
├─9761 /bin/bash /usr/share/mysql/mysql-systemd-start post
└─9894 sleep 1
Mai 03 22:44:07 gate systemd[1]: Stopped MySQL Community Server.
Mai 03 22:44:07 gate systemd[1]: Starting MySQL Community Server...
Mai 03 22:44:08 gate mysqld[9760]: mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.130902Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.131097Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.274970Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.275222Z 0 [Warning] Can't create test file /var/lib/mysql/gate.lower-test
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.275449Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.11-0ubuntu6) starting as process 9760 ...
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.285371Z 0 [Warning] Can't create test file /var/lib/mysql/gate.lower-test
Mai 03 22:44:08 gate systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
thopiekar@gate:~$ sudo ls -la /var/lib/mysql/
insgesamt 145460
drw-r----- 8 mysql mysql 4096 Mai 3 22:29 .
drwxr-xr-x 87 root root 4096 Apr 30 00:05 ..
-rw-r----- 1 mysql mysql 56 Apr 30 00:06 auto.cnf
-rw-r----- 1 mysql mysql 0 Apr 30 00:06 debian-5.7.flag
-rw-r----- 1 mysql mysql 657 Mai 2 10:33 ib_buffer_pool
-rw-r----- 1 mysql mysql 35651584 Mai 2 10:33 ibdata1
-rw-r----- 1 mysql mysql 50331648 Mai 3 22:29 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Apr 29 15:08 ib_logfile1
-rw-r----- 1 mysql mysql 12582912 Mai 3 22:29 ibtmp1
drwxr-x--- 2 mysql mysql 4096 Apr 30 00:06 mysql
drwxr-x--- 2 mysql mysql 4096 Mai 2 09:46 MXYZ
drwxr-x--- 2 mysql mysql 4096 Apr 30 00:06 performance_schema
drwxr-x--- 2 mysql mysql 12288 Apr 30 00:06 sys
drwxr-x--- 2 mysql mysql 4096 Apr 29 15:08 XY
drwxr-x--- 2 mysql mysql 4096 Apr 29 15:08 XYZ
有人能解释一下吗?谢谢!
答案1
您声明您“刚刚复制了我的旧数据库“ 这个单词 ”复制“在这种情况下可能意味着一种不正确的方法。当然你的“复制“可能涉及其他未公开的步骤。MySQL 的结构似乎是出口你的数据库,然后进口将它们放入“新的“数据库。并非实际复制。
您的原始 MySQL 配置是否仍可运行?数据库是否仍然存在并且可以访问?
您的“新”系统上安装了 MySQL 吗?
您是否安装了 phpMyAdmin?如果没有,请查看如何使用mysqldump。
如果 phpMyAdmin 可用,请使用 phpMyAdmin 导出数据库。之后将输出复制到“新的“ 电脑系统。
在“新的“计算机系统,再次使用 phpMyAdmin,但在这种情况下,从下载文件夹导入数据库。导入数据库应该可以解决您的权限问题。
有关如何出口/进口的更多深入指导,请在网上搜索“mysql 导出数据库“。
以下是根据使用 mysqldump 随机挑选的示例:“一次导出和导入所有 MySQL 数据库“