• macOS Sierra 下的MySQL 无法启动的原因


    在macOS下安装了MySQL服务做些测试,后来有段时间不用了,系统也升级过,最近几天发现MySQL的服务器已经无法启动了,在系统偏好设置的软件端提示这样一个告警:

    1 Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql'

    所以怀疑可能是目录权限的问题,首先查看MySQL都建立了哪些用户和组

    1 # cat /etc/passwd | grep mysql
    2 _mysql:*:74:74:MySQL Server:/var/empty:/usr/bin/false
    3 # cat /etc/group | grep mysql 
    4 _mysql:*:74:

    看起来是用户和组名字发生了变化,具体原来是什么名字不记得了,直接改

    1 # sudo chown -R _mysql /usr/local/mysql/data


    另外要说的是,如果你的电脑开机了发现没有启动MySQL服务,首先应该去系统偏好设置里看看有没有勾选开机自动启动,如果需要开机自动启动,勾选上就好了。 如果不需要,那每次使用之前,记得启动服务。

    这里再顺便说一下MySQL的root密码忘记了该如何恢复的解决方法:
    首先确定系统的版本,比如我的系统是下面这样的

    1 $ cat /System/Library/CoreServices/SystemVersion.plist
    2 Mac OS X 10.12.1

    确定MySQL的版本

    1 $ mysql --version
    2 mysql Ver 14.14 Distrib 5.7.15, for osx10.11 (x86_64) using EditLine wrapper

    切换到MySQL的安装目录下

    1 $ cd /usr/local/mysql/bin
    2 $ sudo ./mysqld_safe --skip-grant-tables &

    登陆无秘MySQL
    $ mysql
    然后修改密码,这里要注意,我的MySQL版本是5.7的,和之前的修改root密码的方法不同,我的user表里,没有了Password 字段了,密码变成加密存储在 authentication_string 字段里加密存储。

    1 update mysql.user set authentication_string=password('newpass') where User='root';
    2 flush privileges;

    如果是 MySQL 5.6 之前的版本

    1 update mysql.user set Password=password('newpass') where User='root';
    2 flush privileges;

    好了。重新启动MySQL服务器,密码已经修改了。

  • 相关阅读:
    python 笔记——生成器和迭代器
    Python装饰器
    python 小程序—三级菜单—循环和字典练习
    python 小程序—循环和列表训练
    lvs主备可以自由切换,vip落在主上的时候,端口无法telnet,业务连接不了
    mongodb学习
    lvs DR模式
    去哪儿网mysql语法审核工具Inception正式开源
    无法远程连接ubuntu下的mysql
    值得珍藏的28本股市投资经典著作
  • 原文地址:https://www.cnblogs.com/leooys/p/6181967.html
Copyright © 2020-2023  润新知