Mac安装mysql
1.mysql下载地址
MySQL :: Download MySQL Community Server (Archived Versions)
![[Pasted image 20231129113017.png]] 配置文件:
export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files
2.登陆、查看相关
#登陆mysql
mysql -u root -p
#查看数据库
SHOW DATABASES;
3.修改mysql密码
当忘记root登录密码,可以绕过root登录,然后在置空密码,再修改密码
- 关闭MySQL server
sudo usr/local/mysql/support-files/mysql.server stop # 也可以手动在系统偏好设置里关闭
- 进入MySQL bin目录
cd /usr/local/mysql/bin
- 安全模式运行MySQL
sudo ./mysqld_safe --skip-grant-tables
- 此时MySQL server已经在安全模式下打开,然后重新开启一个terminal窗口,无密码登录MySQL
usr/local/mysql/bin/mysql -u root
- 将root密码置空
update mysql.user set authentication_string='' where User='root';
- 刷新
flush privileges;
- 修改root登录密码
alter user user() identified by "xxxxxx";
alter user 'root'@'localhost' identified by '123456';
在macOS上重置MySQL的root密码可以通过以下步骤完成。这里假设你已经安装了MySQL并且服务已经启动。以下是详细的步骤:
4.mysql 重置密码
1. 停止MySQL服务
首先,你需要停止正在运行的MySQL服务。如果你是通过Homebrew安装的MySQL,可以使用以下命令:
brew services stop mysql
如果你是手动安装的MySQL,可以使用以下命令:
sudo /usr/local/mysql/support-files/mysql.server stop
或者
sudo pkill mysqld
2. 以安全模式启动MySQL
接下来,你需要以跳过权限表的方式启动MySQL,这样可以让你无需密码登录。
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking &
这里的--skip-grant-tables
选项会跳过权限表,--skip-networking
选项会禁止网络连接,只允许本地连接。
3. 连接到MySQL服务器
打开一个新的终端窗口,并连接到MySQL服务器:
mysql -u root
由于我们跳过了权限表,这里不需要输入密码。
4. 重置root密码
进入MySQL命令行后,你可以更新root用户的密码。请注意,MySQL 8.0及更高版本和5.7及更低版本的语法略有不同。
对于MySQL 8.0及更高版本
-- 选择mysql数据库
USE mysql;
-- 更新root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
-- 刷新权限
FLUSH PRIVILEGES;
对于MySQL 5.7及更低版本
-- 选择mysql数据库
USE mysql;
-- 更新root用户的密码
UPDATE user SET authentication_string=PASSWORD('你的新密码') WHERE User='root';
-- 刷新权限
FLUSH PRIVILEGES;
5. 退出MySQL并重启服务
退出MySQL命令行:
EXIT;
然后,停止跳过权限表的MySQL服务。你可以使用以下命令来终止该进程:
sudo pkill -9 mysqld
接着,正常启动MySQL服务:
brew services start mysql
或者
sudo /usr/local/mysql/support-files/mysql.server start
6. 验证新密码
最后,验证新密码是否生效:
mysql -u root -p
输入你刚刚设置的新密码,如果能够成功登录,说明密码已成功重置。
注意事项
- 在执行这些步骤时,请确保你有足够的权限。
- 如果你在生产环境中操作,请务必谨慎,以免造成不必要的数据丢失或安全问题。
- 如果你在操作过程中遇到任何问题,请提供更多的错误信息以便进一步诊断。