Mac 下安装 MySQL8
本文最后更新于:2022年7月6日 上午
MySQL 断断续续的安装了 3、4 次了,每次都是各种 google。还是记录一下比较好,省的日后再去找了
准备工作
我是用 homebrew
的方式安装的。如果没有安装过,可直接用如下命令安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装之后,再更新一下,确保接下来安装的 MySQL 是 8 版本的
brew update
来吧,MySQL
brew install 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
To have launchd start mysql now and restart at login:
brew services start mysql
Or, if you don't want/need a background service you can just run:
mysql.server start
按照提示中的命令启动 MySQL 服务即可,相关命令如下:
# 启动 mysql
brew services start mysql
# 重启 mysql
brew services restart mysql
# 关闭 mysql
brew services stop mysql
# 查看所有 Homebrew 管理的服务
brew services list
如果忘记了服务启动命令也没关系,则可以通过如下命令找回:
brew info mysql
稍稍配置一下
默认情况下,root 用户是没有密码的,
mysql -uroot
输入此命令即可直接 MySQL 了
设置 root 密码
MySQL 安装完成之后,会提示运行 mysql_secure_installation
命令来启用 Valid Password
组件,此组件包含一些密码策略的设置。
退出登录 MySQL,在命令行输入
mysql_secure_installation
根据提示,一步步完成,记住我们自己设置的密码。
然后,登录 MySQL:
mysql -uroot -p
回车之后,输入刚才命令行里设置的密码,登录成功之后,在 MySQL 下可输入如下命令可查看当前设置的 Valid Password
策略:
SHOW VARIABLES LIKE 'validate_password%';
返回如下:
mysql> 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 | LOW |
| validate_password.special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.01 sec)
其中每个策略值得含义如下:
名称 | 含义 |
---|---|
validate_password_check_user_name | 设为 ON 时,密码中不允许包含用户名 |
validate_password_dictionary_file | 用于密码验证的字典文件路径,仅在密码验证级别为 STRONG 时生效 |
validate_password_length | 限制密码长度不得少于 8 位 |
validate_password_mixed_case_count | 密码中大小写字母的最少个数 |
validate_password_number_count | 密码中数字的最少个数 |
validate_password_policy | 设置密码验证级别 |
validate_password_special_char_count | 密码中特殊符号的最少个数 |
如果想要更改对应的策略值,例如,我当前设置的密码是 8 位的,但我只想改成 6 位,那么可以这样设置:
mysql> set global validate_password.length=6;
这句的意思是把密码长度改成 6 位,再次查看密码策略相关值,可以看到密码长度已经设置成功了:
mysql> SHOW VARIABLES LIKE 'validate_password.%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 6 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.01 sec)
接下来退出 MySQL,再次运行 mysql_secure_installation
, 重新设置密码就好了。
参考链接
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!