mac使用brew安装mysql

1,271 阅读2分钟
原文链接: www.cnblogs.com

1、安装mysql

#brew install mysql

报错

Error: The following directories are not writable by your user:
/usr/local/lib

You should change the ownership of these directories to your user.
  sudo chown -R $(whoami) /usr/local/lib

意思是 您应该将这些目录的所有权更改为您的用户

执行以下命令设置权限

#sudo chown -R wuj /usr/local/lib

然后重新安装即可 brew install mysql

2、启动mysql服务

#mysql.server start

3、设置密码

通过brew安装后默认密码为空

执行以下命令设置密码

#mysql_secure_installation
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

之后输入密码强度 0、1、2选择一个

因为手误我选择了1,但在后面设置密码时无法设置简单密码

Estimated strength of the password: 25 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
 ... Failed! Error: Your password does not satisfy the current policy requirements

解决 更改密码强度为 LOW

先登录mysql

#mysql -uroot

设置validate_password_policy为0(表示等级low)

set global validate_password_policy=0;

执行会报错

ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'

原因是 MySQL 5.7和MySQL 8.0版本变量名不同 validate_password_policy是在版本 MySQL 5.7中 存在 ,而 MySQL 8.0不存在

解决,执行以下命令查看密码验证插件

SHOW VARIABLES LIKE 'validate_password%';
Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1

可以看到在mysql8.0中 变量名 为 validate_password.policy

好了,修改变量名后执行设置成功

set global validate_password.policy=0;

除此之外 ,还需设置密码长度(默认是长度8位以上)

set global validate_password.length=4;

解决以上问题后再次执行以下命令,设置密码即可

#mysql_secure_installation

4、mysql登录验证

#mysql -uroot -p

显示数据库

#show databases;

另:

在php连接数据库时报错,无法连接到数据库

The server requested authentication method unknown to the client

发现是因为mysql8.0版本的问题
打开mysql数据库 -》用户-》编辑root用户修改
修改插件 caching_sha2_password为 mysql_native_password即可

参考

blog.csdn.net/maxsky/arti…
blog.csdn.net/HaHa_Sir/ar…

> 作者:fozero 出处:https://www.cnblogs.com/fozero 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。