关于Mac安装使用MySql的几个ERROR的解决办法

本文详细讲述了使用Homebrew和官网下载安装MySQL时遇到的问题,包括未设置root密码、socket连接错误、以及不同版本间的认证插件调整。提供了解决这些问题的方法,如启动mysql服务器、修改plugin等。

1.使用Homebrew进行安装mysql所遇到的问题

安装完成后,会有如下内容:

We've installed your MySQL database without a root password. To secure it run:
    mysql_secure_installation

MySQL is configured to only allow connections from localhost by default

To connect run:
    mysql -uroot

A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To restart mysql after an upgrade:
  brew services restart mysql
Or, if you don't want/need a background service you can just run:
  /usr/local/opt/mysql/bin/mysqld_safe --datadir=/usr/local/var/mysql

第一句话,我们安装了mysql数据库但是没有设置root密码,如果要设置,请运行指令:

mysql_secure_installation

但是,如果直接终端里面敲这个指令,可能会遇到如下的提示问题:

Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

造成这个的原因是因为没有启动mysql,需要运行指令

sudo mysql.server start

来启动mysql。但是当我们运行这个指令的时候,可能会出现如下错误:

ERROR! The server quit without updating PID file(...)

导致这个的原因可能很多,网上一搜也能列举出来很多方法,进程的原因可能是最大的(本人即是这个原因)。我选取一个有效且简单的方法。打开活动监视器,找到mysql进程,双击打开,直接退出进程(一定要保证mysql进程不存在)

活动监视器

虽然不知道为什么一安装好,mysql就在运行,并且还会导致Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)的错误。但是退出这个进程,然后再通过指令

sudo mysql.server start

启动mysql,进而就可以进行其他一系列操作了。如果第一步mysql_secure_installation卡住了,完成到这里之后。就可以运行第一条指令了(以后电脑每次重启,都需要这样杀死进程,再通过指令sudo mysql.server start 进行启动,才能连接到mysql,且不会出现’/tmp/mysql.sock’(2)的错误)。


2.使用mysql官网下载安装mysql所遇到的问题

本人的原因:最开始安装mysql8.0版本,安装完之后就可以直接运行。之后过了一段时间,突然就不能用了。后来查阅资料,看网上说的是:

In MySQL 8.0, caching_sha2_password is the default authentication plugin rather than mysql_native_password, which was the default in MySQL 5.7.

但是在5.7也有可能是auth_socket 的情况。auth_socket 和caching_sha2_password都有可能导致ERROR 1698 (28000): Access denied for user ‘root’@'localhost’的问题。至于caching_sha2_password有什么作用,好像是安全性方面的作用,本人本科生也没有深入了解,这篇文章只是分享下自己解决的问题方法,有兴趣的,我放个链接:

Caching SHA-2 Authentication

所以,我看网上有好多文章。解决方法大致就是,把root用户的plugin改成mysql_native_password。然后就可以通过密码登录了。具体实现起来就是安全模式启动mysql,可以不用输入密码进入mysql,然后先查看一下root的plugin:

select user,plugin from mysql.user;

如果你是homebrew安装的mysql,默认下就是这样:

plugin

如果你的也是mysql_native_password,那可能是别的原因,自行查找别的文献资料!!

完成这一步后,5.7版本和8.0版本,分别对应了两种改plugin的方法,这里我不作阐述,有需要的可以自行到StackOverflow上查找这个问题的解决办法!(本人一开始就是这个问题,后来才改用的homebrew安装mysql的)。

Mac 操作系统上安装 MySQL 客户端可以通过多种方式实现,以下是几种常见的方法及推荐工具: ### 使用 Homebrew 安装 MySQL 客户端 Homebrew 是 macOS 上非常流行的包管理器,可以通过它快速安装 MySQL 客户端工具。 1. **安装 Homebrew**(如果尚未安装): 打开终端并运行以下命令: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 2. **使用 Homebrew 安装 MySQL 客户端**: ```bash brew install mysql-client ``` 3. **配置环境变量**(如果未自动完成): 将 MySQL 客户端的路径添加到 `PATH` 中。编辑 `~/.zshrc` 或 `~/.bash_profile` 文件,添加以下行: ```bash export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH" ``` 然后运行以下命令以应用更改: ```bash source ~/.zshrc # 或者 source ~/.bash_profile ``` ### 使用官方 MySQL 安装包 可以从 MySQL 官网下载完整的 MySQL 安装包,其中包括客户端工具和服务器组件。 1. **下载 MySQL 安装包**: 访问 [MySQL 官方下载页面](https://dev.mysql.com/downloads/mysql/),选择适用于 macOS 的 DMG 文件。 2. **安装 MySQL**: 双击下载的 DMG 文件,按照提示逐步完成安装过程。在安装过程中会提示设置 `root` 用户的密码,请务必记住该密码。 3. **配置环境变量**(可选): 如果希望在终端中直接使用 `mysql` 命令,可以将 MySQL安装路径添加到 `PATH` 环境变量中。例如: ```bash export PATH="/usr/local/mysql/bin:$PATH" ``` 同样需要将上述命令添加到 `~/.zshrc` 或 `~/.bash_profile` 文件中,并运行 `source` 命令以应用更改。 ### 使用图形化客户端工具 除了命令行工具外,还可以选择图形化客户端来连接和管理 MySQL 数据库。 #### 1. DBeaver Community DBeaver 是一个功能强大的开源数据库工具,支持多种数据库类型,包括 MySQL。 - **下载地址**:[DBeaver 官网](https://dbeaver.io/download/) - **特点**: - 支持多种数据库类型(超过 80 种) - 可以查看数据表之间的 ER 关系图 - 提供 SQL 编辑和数据操作功能 #### 2. MySQL Workbench MySQL Workbench 是 MySQL 官方推出的图形化客户端工具,适合希望使用官方工具的用户。 - **下载地址**:[MySQL Workbench 下载页面](https://dev.mysql.com/downloads/workbench/) - **特点**: - 官方出品,兼容性好 - 提供数据库建模、SQL 开发、服务器配置等功能 - 社区版(Community Edition)是免费的,但不能用于商业用途 #### 3. Sequel Pro Sequel Pro 是一款轻量级的 MySQL 客户端,适合只需要基本功能的用户。 - **特点**: - 界面简洁,操作简单 - 专注于 MySQL 连接和管理 - 占用资源较少 ### 连接 MySQL 服务器 无论使用哪种客户端工具,连接 MySQL 服务器时都需要提供以下信息: - **主机名**(Host):通常是 `localhost` 或远程服务器的 IP 地址 - **用户名**(User):例如 `root` - **密码**(Password):在安装过程中设置的密码 - **端口号**(Port):默认为 `3306` 如果遇到连接问题,例如 `ERROR 1045 (28000): Access denied for user 'root'@'localhost'`,请检查密码是否正确,或者尝试重置 `root` 用户的密码。[^1] ### 示例:使用命令行连接 MySQL 安装完成后,可以使用以下命令连接 MySQL 服务器: ```bash mysql -u root -p ``` 输入密码后即可进入 MySQL 命令行界面。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值