• 忘记mysql密码如何修改,Mac mysql my.cnf 配置文件,启动MySql服务命令,无法启动,无pid报错原因,卸载重装方法


    忘记mysql密码如何修改,Mac mysql my.cnf 配置文件,启动MySql服务命令,无法启动,无pid报错原因,卸载重装方法

    忘记mysql密码修改

    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> FLUSH PRIVILEGES;

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

    mysql> FLUSH PRIVILEGES;

    mysql> exit;

    这个时候用Navicat客户端用密码连接就可以成功了。但有个诡异的现象是每次重启Mac电脑后就又登陆不进去了,重装了mysql也一样。

    ----------

    到mysql表里修改:

    mysql> use mysql;
    ALTER USER root@localhost IDENTIFIED BY 'admin1234';

    -----------

    注意:上面命令必须在sh-3.2#下面执行,如果Command + N 重新打开一个终端,输入mysql -u -root 会报下面错误。

    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

    -----------

    sh-3.2# cat /usr/local/mysql/data/xxxdeMacBook-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#这种才有执行权限的

    =============
    Mac mysql my.cnf 配置文件

    使用Mac的小伙伴在安装配置mysql的时候可能会遇到需要配置my.cnf配置文件的情况,但是不管是用homebrew还是用mysql安装包安装的客户端都不会生成这个文件。
    5.7.20之后的mysql默认没有my.cnf  本人测试了下载my.cnf放到/etc目录下直接就启动不了了

    1.如果你只是想确认mysql加载的是哪个配置文件那你可以使用以下方法进行确认。
    mysql --verbose --help | grep my.cnf
    会得到类似以下的几个地址,默认是在/etc/下的my.cnf。
    /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

    2.如果你没有使用过my.cnf,那就必须手动创建一个my.cnf目录放在上一条我们看到的几个目录下面,通常/usr/local/mysql/support-files/my-default.cnf目录下会有一个默认文件,你把它拷贝到指定位置做自定义修改。5.7.20之后的mysql默认没有my.cnf

    可以到官方下载my.cnf
    https://www.fromdual.com/sites/default/files/my.cnf
    其他后缀的可以访问下面链接查看
    https://www.fromdual.com/mysql-configuration-file-sample

    ===============
    启动MySql服务
    sudo /usr/local/mysql/support-files/mysql.server start

    停止MySql服务:
    sudo /usr/local/mysql/support-files/mysql.server stop

    重启MySql服务:
    sudo /usr/local/mysql/support-files/mysql.server restart

    alias mysql=/usr/local/mysql/bin/mysql

    alias server=/usr/local/mysql/support-files/mysql.server

    =============
    MySQL启动失败,未生成pid文件的解决方法
    首先pid文件是mysql启动后,生成的一个文件,里面记录的是mysql当前的进程号,如果创建失败,mysql就无法启动。
    可能原因:
    mysql的端口被占用
    生成pid文件的目录mysql的权限不足
    mysql对应的my.cnf配置文件错误
    mysql的启动脚本有问题
    mysql有残余数据影响了服务的启动
    =============
    mac 升级mysql无法启动,无pid报错原因
    ERROR! MySQL server PID file could not be found!
    /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)

    在以上两个问题上面绕了很多弯子,查找了很多关于以上两个问题的解决方法,但是都不行。
    只能采用卸载卸载干净了再重装。

    在系统偏好设置面板中可以看到之前安装的MySQL,此时若想卸载MySQL,可以双击图标打开界面进行卸载。


    使用命令卸载,执行下列命令
    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

    ==================
    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

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

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

  • 相关阅读:
    Docker核心技术之镜像(8)
    简单的自定义函数(7)
    存储过程游标的使用(6)
    存储过程循环语句(5)
    存储过程条件语句(4)
    存储过程的参数(3)
    存储过程的变量(2)
    一个简单的存储过程(1)
    Docker加速器配置(7)
    单表、多表查询
  • 原文地址:https://www.cnblogs.com/zdz8207/p/mac-mysql-update-password-pid-uninstall.html
Copyright © 2020-2023  润新知