mysql的root用户没法建库的问题

解决方案

  1. 打开/etc/my.cnf

    [mysqld] 中找到两个信息:mysql

    1. datadir —— 这是你的数据库存取数据的地方 , 例如个人是 datadir = /www/server/data/www/server/data 就是个人数据目录;sql

    2. log-bin —— 这是存在日志的地方,不过有可能只看到 log-bin=mysql-bin ,这里默认没有修改的话,mysql-bin 是在上面的 datadirshell

  2. 先看错误日志

    打开到你的 datadir 文件夹位置 , 有一个 ***.err 的文件,这是 MySQL 的一个错误日志,你可使用 vim 打开查看是否有什么错误的信息;数据库

下面是关键的两步,也是致使出现上面两个问题的缘由:vim

  • MySQL每次开始服务的时候要先在 DATADIR 中建立一个 ****.pid 文件,关闭服务的时候就会删除它;由于上次这里面整个文件夹(包括文件夹中的内容)的全部者被我不当心修改成root了,所以 MySQL 没有权限往其中新建一个 ****.pid 文件 ,所以报了第二个的错误;
  • 另外,为何我一开始能够登录 MySQL ,却在root用户的时候竟然没法进行新建数据库的操做呢?我猜测多是由于,我以前的文件夹的权限是755,文件的是644的缘由;也就是用户组和公共组均可以读取,但没法写入,因此才会报第一个错误!
  1. 修改的 datadir 的全部者

    $ sudo chown -R mysql:mysql YOUR_DATADIR 复制代码

    **注意:**记得把 YOUR_DATADIR 就是咱们刚才找到 datadirbash

  2. 修改 datadir 里面文件以及文件夹的权限:

    建议数据库数据目录的权限为 700 ,文件的为660post

  • 文件夹权限修改成700 :spa

    $ sudo find YOUR_DATADIR -type d -exec chmod 700 {} \; 复制代码
  • 文件权限修改成660 :rest

    $ sudo find YOUR_DATADIR -type f -exec chmod 660 {} \; 复制代码
  1. 重启MySQL服务

    到这里,咱们就能够从新再试试日志

    $ sudo /etc/init.d/mysqld restart 复制代码

    若是出现 [OK] ,就快大功告成啦!!

  2. 从新登录 MySQL

参考:http://www.javashuo.com/article/p-zvifnofv-dk.html

相关文章
相关标签/搜索