赞
踩
帖主在按照csdn上的帖子Macbook在配置mysql时总是不成功,下载下来的mysql在系统设置里总是变红绿色之间来回跳动,并无法连接Navicat进入mysql,修改了一天几乎把坑几乎全踩了,给各位参考。
首先,绝大部分教程都是在官网选择下arm或x86系列,再一步步点安装完成后还有很多其他的问题。然而根本不需要如此繁琐,在这里我们选用使用mac所带的brew工具进行下载安装。
Homebrew是macOS的包管理工具。首先,如果你还没有安装Homebrew,请按照以下步骤进行安装:
以下命令默认都在根目录进行,如不在请先cd ~到根目录
打开终端并运行以下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
如果不行考虑开T子,使用git进行安装
git clone https://github.com/Homebrew/brew ~/.brew
安装完成后,按照提示将Homebrew添加到你的路径中。通常,它会要求你运行以下命令:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)
更新Homebrew
brew update
在终端中运行以下命令来安装MySQL:
brew install mysql
安装完成后,启动MySQL服务:
brew services start mysql
注:在这里可能会出现报错
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; /bin/launchctl bootstrap gui/501 /Users/jimmy/Library/LaunchAgents/homebrew.mxcl.mysql.plist exited with 5.
解决办法:
确保所有相关目录和文件的权限正确:
sudo chown -R $(whoami):admin /opt/homebrew/var/mysql
sudo chown -R $(whoami):admin /opt/homebrew/opt/mysql
sudo chown -R $(whoami):admin ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
手动启动MySQL服务,查看是否有更详细的错误信息:
/opt/homebrew/opt/mysql/bin/mysql.server start
或者对电脑进行重启后继续运行
brew services start mysql
如果都不行,别着急我们再进行下一步
安装完成后的初始设置
运行以下命令进行MySQL的初始安全设置:
mysql_secure_installation
这将启动MySQL的安全安装程序,以下是一些常见的问题和建议的答案:
首先进行设置密码。
Enter password for user root:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y
在mysql_secure_installation脚本开始时,系统会提示你输入当前root用户的密码。这是为了验证你有权进行安全设置。
Enter password for user root:
你输入当前的root用户密码并按回车。如果密码正确,脚本将继续。(首次安装没有密码随便输入一个强度高的密码)
脚本会询问你是否要更改root用户的密码:
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y
你选择y并按回车,表示你希望更改root用户的密码。
系统会提示你输入新密码并再次确认:
(此时应该输入自己准备设置的root密码,强度要求:长度大于8,有大小写字母,特殊符号,数字)
New password:
Re-enter new password:
你需要输入两次相同的新密码。如果两次输入的密码一致,系统将更新root用户的密码。
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
解释: 这一步告诉你,提供的密码强度为100(通常是满分),这是一个很高的密码强度分数。然后它会询问你是否要继续使用这个密码。
建议: 如果密码强度高,可以继续使用这个密码。选择 y 继续。
下边配置需要特别注意!!!
除了最后一个,我们千万都不要选y,一路n或者其他拒绝符号!!!
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : n
Success.
解释:MySQL 默认安装时包含匿名用户,允许任何人无需用户名和密码即可登录 MySQL。这是为了测试和方便安装,但在生产环境中是不安全的。
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n
... skipping.
解释: 默认情况下,root 用户只能从本地主机(localhost)登录。这可以防止通过网络进行暴力破解攻击尝试。选择 n 表示允许 root 用户远程登录。
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n
... skipping.
解释: MySQL 默认安装时包含一个名为 test 的数据库,任何人都可以访问。这是为了测试用途,但在生产环境中不安全。选择 n 表示保留测试数据库。
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
... skipping.
解释: 重新加载权限表可以确保所有更改立即生效。选择 n 表示暂不重新加载权限表。
在终端中运行以下命令,使用root用户登录MySQL:
mysql -u root -p
你会被提示输入刚才设置的root用户密码,输入正确密码后将进入MySQL命令行界面。
为了便于使用,你可以将MySQL的可执行文件路径添加到你的环境变量中。
编辑你的Shell配置文件(如/.zshrc或/.bash_profile):
nano ~/.zshrc
在文件末尾添加:
export PATH=/opt/homebrew/opt/mysql/bin:$PATH
使用Control+O保存,Control+X退出
保存并退出编辑器,然后重新加载配置文件:
source ~/.zshrc
brew services start mysql
我满心欢喜的打开Navicat输入完账号密码却弹出来报错信息
2002 - Can’t connect to server on ‘127.0.0.1’ (36)
解决方法:
首先,确保MySQL服务正在运行:
brew services list
如果使用这行命令又报错
Name Status User File
mysql error 256 ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
继续修改
有时候MySQL socket文件会导致连接问题。删除现有的socket文件:
sudo rm /tmp/mysql.soc
确保MySQL配置文件(my.cnf)中的配置正确。编辑配置文件:
sudo nano /opt/homebrew/etc/my.cnf
确保配置文件包含以下内容:
[mysqld]
bind-address = 127.0.0.1
socket = /tmp/mysql.sock
重启服务
brew services restart mysql
确保MySQL数据目录的权限正确。修复权限问题:
sudo chown -R $(whoami):admin /opt/homebrew/var/mysql
如果执行上述步骤仍然无法运行,请继续看下一步。
查找并终止现有的mysqld进程
首先,查找所有正在运行的mysqld进程:
ps aux | grep mysqld
这个命令会列出所有与mysqld相关的进程。找到进程ID(PID)后,终止这些进程:
sudo kill -9 PID
有时候MySQL socket文件会导致连接问题。删除现有的socket文件:
sudo rm /tmp/mysql.sock
保存并退出后,重新启动MySQL服务:
brew services restart mysql
确保MySQL服务已经成功启动:
brew services list
MySQL应该显示为started状态。
在终端中尝试连接MySQL,确保连接没有问题:
/opt/homebrew/opt/mysql/bin/mysql -u root -p -h 127.0.0.1
如果还有问题请重启电脑,并重新执行命令启动MYSQL
brew services start mysql
如果这些都没问题了,恭喜你Navicat连接成功至此全部结束!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。