zoukankan      html  css  js  c++  java
  • mysql的root用户无法建库的问题

    解决方案

    1. 打开/etc/my.cnf

      [mysqld] 中找到两个信息:

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

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

    2. 先看错误日志

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

    下面是关键的两步,也是导致出现上面两个问题的原因:

    • MySQL每次开始服务的时候要先在 DATADIR 中创建一个 ****.pid 文件,关闭服务的时候就会删除它;因为上次这里面整个文件夹(包括文件夹中的内容)的所有者被我不小心修改为root了,因此 MySQL 没有权限往其中新建一个 ****.pid 文件 ,因此报了第二个的错误;
    • 另外,为什么我一开始可以登陆 MySQL ,却在root用户的时候居然无法进行新建数据库的操作呢?我猜想可能是因为,我之前的文件夹的权限是755,文件的是644的原因;也就是用户组和公共组都可以读取,但无法写入,所以才会报第一个错误!
    1. 修改的 datadir 的所有者

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

      **注意:**记得把 YOUR_DATADIR 就是我们刚才找到 datadir

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

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

    • 文件夹权限修改为700 :

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

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

      到这里,我们就可以重新再试试

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

      如果出现 [OK] ,就快大功告成啦!!

    2. 重新登陆 MySQL

    参考:https://juejin.im/post/5c237ebd518825741e7c32f0

  • 相关阅读:
    Java Output流写入包装问题
    SpringBoot项目单元测试不经过过滤器问题
    SpringSecurity集成启动报 In the composition of all global method configuration, no annotation support was actually activated 异常
    JWT jti和kid属性的说明
    Maven 排除依赖
    第五章 基因概念的发现
    第三章 孟德尔遗传的拓展
    第二章 孟德尔遗传
    第一章 引言
    GWAS全基因组关联分析
  • 原文地址:https://www.cnblogs.com/Mezhou/p/11106148.html
Copyright © 2011-2022 走看看