一、初始化 my.ini
文件
在 mysql 的根目录下(与bin
目录同级)创建my.ini
文件,输入:
[mysqld]
# set basedir to your installation path
basedir=D:\\mysql\\mysql-8.0.17-winx64
# set datadir to the location of your data directory
datadir=D:\\mysql\\mysql-8.0.17-winx64\\data
port=3306
二、初始化data
目录
以管理员身份打开 cmd,进入到 mysql 根目录,执行:
mysqld --initialize-insecure --console
会自动生成data
目录及相关文件,注意看输出,此时没有为 root 用户创建密码。
三、启动
mysqld.exe --console
四、修改用户密码 及 加密方式
由于大多数的客户端工具不支持
caching_sha2_password
的加密方式
mysql.exe -u root # 初始化启动时,是没有密码的
# 切换到 `mysql` 库
mysql> use mysql
mysql> show tables
# 输出结果
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| component |
| db |
。。。
| user |
+---------------------------+
# 查看现在 root 用户的密码加密插件:
mysql> select user, host, plugin from users;
# 输出结果
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
# 修改密码,并修改 密码的加密方式
mysql> ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '12345678'
# 再次验证 root 用户的密码加密方式
mysql> select user, host, plugin from user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
此时就可以用其他的 客户端工具连mysql了。
其他:
如果手动创建 data 目录,会报下面的错误:
Failed to find valid data directory.
只要把 data 目录删了,执行上面第二步即可。
网友评论