在Mac上使用Homebrew安装MySQL后,要连接到MySQL服务器,可以按照以下步骤进行:
安装MYSQL服务
Bash
brew install mysql
启动MySQL服务
确保MySQL服务已经启动。使用Homebrew安装的MySQL,可以使用以下命令启动服务:
Bash
brew services start mysql
这会将MySQL作为后台服务运行,并在系统启动时自动启动。
获取初始密码
Homebrew安装MySQL后,会生成一个随机的root用户初始密码。您可以在启动日志中找到这个密码,通常执行以下命令查看启动日志:
Bash
brew services logs mysql
在日志输出中查找类似“temporary password”的信息,记下提供的密码。
首次登录并设置新密码
使用mysql命令行客户端登录MySQL服务器,并设置新的root用户密码:
Bash
mysql -u root -p
系统会提示您输入密码,这时请输入刚才找到的临时密码。登录后,执行以下命令为root用户设置新密码(将your_new_password替换为您选择的新密码):
Sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
确保在设置新密码后退出MySQL客户端:
Sql
EXIT;
使用新密码连接
现在,您可以使用新设置的密码来连接MySQL服务器:
Bash
mysql -u root -p
系统会提示您输入密码,这时请输入刚刚设置的新密码。成功登录后,您将进入MySQL的交互式命令行界面。
通过其他工具连接
如果您使用的是图形化数据库管理工具(如MySQL Workbench、Navicat等),在新建连接时提供以下信息:
- 主机名(Host) :通常为
localhost或127.0.0.1(本地连接)。 - 端口(Port) :默认为
3306。 - 用户名(User) :
root。 - 密码(Password) :使用刚才设置的新密码。
填写完相关信息后,测试连接,如果一切正常,应该能够成功连接到Homebrew安装的MySQL服务器。
注意事项
- 请确保在生产环境中为MySQL设置强密码,并定期更换。
- 可以通过编辑MySQL配置文件(通常位于
/usr/local/etc/my.cnf)调整MySQL的配置,如监听地址、日志设置等。 - 若在连接过程中遇到问题,如权限问题、连接拒绝等,可以查阅MySQL的官方文档或相关故障排查指南。
tip如果找不到密码
停止MySQL服务
首先,确保MySQL服务已经停止,以便后续安全模式启动:
Bash
brew services stop mysql
启动MySQL服务以跳过授权表
以安全模式启动MySQL服务,允许无密码登录或绕过已有的密码验证:
Bash
mysqld_safe --skip-grant-tables &
这里的--skip-grant-tables选项使得MySQL启动时不加载授权表,从而允许无密码登录。命令末尾的&符号让MySQL在后台运行。
登录MySQL并重置密码
打开一个新的终端窗口(保持上述命令运行的窗口不要关闭),以root用户登录MySQL:
Bash
mysql -u root
此时不需要提供密码,因为MySQL正在以安全模式运行。
在MySQL命令行中,执行以下SQL语句来重置root用户的密码。将new_password替换为您想要设置的新密码:
Sql
UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE User = 'root';
对于较新版本的MySQL(>= 5.7)或MariaDB,可能需要使用authentication_string字段代替Password字段:(注意这里sql)
Sql
update user set authentication_string=123456 where user='root';
接着,刷新系统权限以使更改生效:
Sql
FLUSH PRIVILEGES;
最后,退出MySQL命令行:
Sql
EXIT;
停止安全模式并重启MySQL服务
回到之前启动MySQL服务以跳过授权表的终端窗口,按Ctrl+C停止该进程。然后,正常重启MySQL服务:
Bash
brew services start mysql
使用新密码连接
现在,您可以使用新设置的密码来连接MySQL服务器:
Bash
mysql -u root -p
系统会提示您输入密码,这时请输入刚才设置的新密码。成功登录后,您将进入MySQL的交互式命令行界面。
如果上面安装的是mysql8.3版本,上面方法都找不到密码
rm -rf /opt/homebrew/var/mysql/ 删除历史记录 mysqld --initialize --console命令初始化