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即可
参考
https://blog.csdn.net/maxsky/article/details/51171474
https://blog.csdn.net/HaHa_Sir/article/details/80552663