• Mac电脑mysql安装了无法启动,卸载重装,修改初始密码方法


    Mac电脑mysql安装了无法启动,卸载重装方法,修改初始密码方法

    mysql 下载:
    https://dev.mysql.com/downloads/mysql/
    https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.21-macos10.15-x86_64.dmg
    https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-macos10.14-x86_64.dmg

    非GA版本的可以下载5.7.42的 修改了一些bug的

    https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.24-macos10.14-x86_64.dmg

    安装后最后一步弹出框里是默认的随机密码,要记得保存,而且只能使用一次,登陆连接后就会要求你修改密码才能使用。

    默认的随机密码只能使用一次,登陆连接后就会要求你修改密码才能使用。

     ---------

    安装后无法启动,5.7.31版本的没有直接卸载的按钮。需要用命令进行卸载。

    用命令行启动提示:

    sudo /usr/local/mysql/support-files/mysql.server start
    Password:
    /usr/local/mysql/support-files/mysql.server: line 259: cd: %BASEDIR%: No such file or directory
    Starting MySQL
    ERROR! Couldn't find MySQL server (%BASEDIR%/bin/mysqld_safe)

    启动的时候,报上述错误,从这个报错来看,多半是因为读取到了另外的my.cnf导致的
    查找my.cnf文件命令:mdfind -name my.cnf

    mdfind -name my.cnf
    /private/etc/my.cnf

    用管理员权限删除
    sudo rm /private/etc/my.cnf

    启动mysql

    sudo /usr/local/mysql/support-files/mysql.server start
    Starting MySQL

    出现上面界面说明就是my.cnf导致的了

    但还是可能出现其他错误,比如:

    ERROR! The server quit without updating PID file (/usr/local/mysql/data/xxxdeMacBook-Pro.local.pid).

    这种情况有可能是客户端自动重启了导出冲突的,打开客户端看看是否正常running了,如果是就说明没问题了,可以连接数据库了(默认没有root密码的)

     可以用命令查一下mysql的安装信息:

    ps -ef | grep mysql
    74 1427 1 0 3:36下午 ?? 0:00.24 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so
    501 1443 716 0 3:36下午 ttys000 0:00.00 grep mysql

    如果还有问题可能需要修改配置文件了

    解决办法:
    1.编辑配置文件:
    vim /etc/my.cnf
    basedir = /usr/local/mysql
    datadir = /data/mysql
    socket = /tmp/mysql.sock
    log-error = /data/mysql/error.log
    pid-file = /data/mysql/mysql.pid
    user = mysql
    tmpdir = /tmp

    2.重新初始化mysql:
    ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid --tmpdir=/tmp


    3.再启动就会成功了

    ===============

     使用命令卸载,执行下列命令
    sudo rm /usr/local/mysql
    sudo rm -rf /usr/local/mysql*
    sudo rm -rf /Library/StartupItems/MySQLCOM
    sudo rm -rf /Library/PreferencePanes/My*
    rm -rf ~/Library/PreferencePanes/My*
    sudo rm -rf /Library/Receipts/mysql*
    sudo rm -rf /Library/Receipts/MySQL*
    sudo rm -rf /var/db/receipts/com.mysql.*
    其实不同的安装方式有些东西的存储位置不一样,删除完检查一下下面这些文件是否删除了,没有的话则删除掉:
    /usr/local/Cellar 里的mysql文件
    /usr/local/var 里的mysql文件
    /tmp 里的mysql.sock, mysql.sock.lock, my.cnf文件
    pid文件和err文件都在/usr/local/var/mysql里确保删除了
    brew安装的安装包存储在/usr/local/Library/Cache/Homebrew也可以一并删除
    执行brew cleanup

    ==============

    没有设置密码用Navicat客户端连接不上

    mac版MySQL5.7初始密码,修改密码
    注意事项:
    加网上下载的那个my.cnf 就启动不了,没办法用skip-grant-tables 这个跳过安全认证的用空密码进去再改密码的方法
    要先用 sudo su (输入密码)进入到新的控制台sh-3.2#这种才有执行权限的
    要先停止了服务 再执行./mysqld_safe --skip-grant-tables &才有效的

    ----------
    1.先停止服务(一定要先停止下面命令才能生效)
    系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server)

    2.登录管理员权限 sudo su 输入密码,进入sh-3.2# 终端
    sudo su
    输入密码
    进入终端输入:

    sh-3.2# cd /usr/local/mysql/bin/

    回车后输入以下命令来禁止mysql验证功能

    sh-3.2# ./mysqld_safe --skip-grant-tables &

    回车后mysql会自动重启(偏好设置中mysql的状态会变成running) 回到控制台

    3.输入命令 ./mysql
    sh-3.2# ./mysql
    回车后进入数据库控制界面,输入下面命令。密码必须为复杂的密码,字母+数字,8位数以上(例如:admin1234)

    mysql> SET PASSWORD FOR 'root'@'localhost' = 'admin1234';

    mysql> FLUSH PRIVILEGES;

    mysql> exit;

    这个时候用Navicat客户端用密码连接就可以成功了

    sh-3.2# cat /usr/local/mysql/data/zhengdzdeMacBook-Pro.local.err | grep temporary
    2020-08-20T11:41:52.738831Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables

    要先用 sudo su (输入密码)进入到新的控制台sh-3.2#这种才有执行权限的

    =================

    #登录mysql
    mysql -u root -p
    zsh: command not found: mysql #需要设置别名才能直接使用mysql命令
    alias mysql=/usr/local/mysql/bin/mysql

    /usr/local/mysql/bin/mysql -u root -p
    /usr/local/mysql/bin/mysql -h localhost -u root -p

    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    sudo cat data/mysqld.local.err | grep temporary
    2020-08-20T07:28:03.071109Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
    2020-08-20T07:35:56.790127Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
    2020-08-20T07:36:00.454138Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables

    sudo cat data/zhengdzdeMacBook-Pro.local.err | grep temporary

    sudo cat /usr/local/mysql/data/zhengdzdeMacBook-Pro.local.err | grep temporary

    =============

    mysql 5.7 版本以上user表里面没有password字段了,改成authentication_string 了

  • 相关阅读:
    MRC和ARC混合开发
    创建静态库.a
    IOS 数据存储之 FMDB 详解
    AFNETWorking的使用
    日历demo
    iOS开发系列--通知与消息机制
    paypal支付说明
    支付宝路径的问题
    iOS开发多线程篇—GCD介绍
    回调的具体最弱智的解释
  • 原文地址:https://www.cnblogs.com/zdz8207/p/mac-mysql-install-uninstall.html
Copyright © 2020-2023  润新知