我正面临创建数据库的问题,并导致以下错误.
mysql> show grants for 'admin'@'%';
+---------------------------------------------------------------------------------------------------------------------------------+
| Grants for admin@% |
+---------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441' WITH GRANT OPTION |
+---------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> create database abc;
ERROR 1006 (HY000): Can't create database 'abc' (errno: 13)
Run Code Online (Sandbox Code Playgroud)
这是我的用户表.
mysql> select host, user from mysql.user;
+-------------+-------+
| host | user |
+-------------+-------+
| % | admin |
| 127.0.0.1 | root |
| ::1 | root |
| IVM-MMC-DGW | root |
| localhost | admin |
| localhost | root |
+-------------+-------+
6 rows in set (0.00 sec)
mysql> show grants;
+-----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for admin@localhost |
+-----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441' WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
我可以在现有数据库中创建和删除表.
数据目录已具有mysql:mysql权限,并且登录用户也有权创建新数据库.
这里缺少什么配置?
小智 30
MySQL数据目录可能存在权限问题.您可以尝试按如下方式设置权限(调整数据目录的路径)
chown -R mysql:mysql /usr/local/mysql/data
Run Code Online (Sandbox Code Playgroud)
jfl*_*fly 19
这可能是由于MySQL拒绝了许可.虽然您设置了datadir=/drbd0/mysql/data
,但默认情况下是MySql set socket = /var/lib/mysql/mysql.sock
,因此您应该拥有该目录的权限.
less /etc/group
Run Code Online (Sandbox Code Playgroud)
然后
less /etc/passwd
Run Code Online (Sandbox Code Playgroud)
找到mysql用户名和组名,默认情况下,它是mysql组中的mysql用户.
更改为mysql目录,可能/var/lib/mysql
然后键入cd ..
上一个目录.
chown -R mysql:mysql ./mysql/
Run Code Online (Sandbox Code Playgroud)
mysql:mysql
如果您将组和用户权限称为不同,则替换为不同的内容
san*_*jai 11
这可能是空间问题.按照这个
如果日志显示"[ERROR]无法启动服务器:无法创建PID文件:设备上没有剩余空间"
通过df -hk/var检查/ var大小
如果使用的是100%,那么你必须找到填充的文件.
通过find/var/-type找到/ var中的大文件f -size + 100000k -exec ls -lh {} \; | awk'{print $ 9":"$ 5}"
看看你可以删除哪个文件,然后重新启动mysql进程
让我知道是否有效:)
对于Mac OS,请使用此命令
sudo chown -R mysql:mysql /usr/local/mysql*
Run Code Online (Sandbox Code Playgroud)
用户mysql
应具有对mysql数据目录的写访问权.
归档时间: |
|
查看次数: |
66297 次 |
最近记录: |