忘记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 了

原文地址:https://www.cnblogs.com/zdz8207/p/mac-mysql-update-password-pid-uninstall.html