MYSQL 8.x
安装流程(windows)
一丶下载安装
-
解压文件
-
在文件夹
mysql-8.0.30-winx64
下创建mysql
配置文件:data
文件夹my.ini
文件
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录---切换为自己的安装目录 basedir=D:\mysql-8.0.30-winx64 # 设置mysql数据库的数据的存放目录---切换为自己的安装目录 datadir=D:\mysql-8.0.30-winx64\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
-
配置
mysql
环境变量- 高级系统设置>环境变量>新建系统变量–
- 变量名:
MYSQL_HOME
- 变量值:
D:\mysql-8.0.30-winx64
–切换为自己的
- 变量名:
- 编辑系统环境变量
Path
,添加%MYSQL_HOME%\bin
win+R
–输入cmd
,在dos
窗口中输入mysqld --version
,正常显示版本号
- 高级系统设置>环境变量>新建系统变量–
-
初始化
mysql
- 管理员运行
dos
窗口cmd
mysqld --initialize --user=mysql --console
-
初始化成功生成密码
password
(切换为自己的) -
记住密码–密码前面有空格,注意忽略
- 管理员运行
-
安装
MySQL
到系统服务# 安装服务: mysqld install # 启动服务: net start mysql # 关闭服务: # net stop mysql
二丶登录和使用
-
登录
mysql
,修改root
用户密码 -
win+R
–输入cmd
,在dos
窗口中输入mysql -uroot -ppassword
password
–(切换为自己的) -
修改
root
用户密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'root';
-
刷新权限
flush privileges;
-
允许其他机器访问数据
-- 查看权限 use mysql; select host from user where user = 'root'; -- 更新权限 update user set host='%' where user = 'root'; -- 刷新权限 flush privileges;
三丶重置密码-创建用户
-
忘记
root
密码重置- 先关掉已启动的
mysql
服务,管理员权限的cmd
下,命令:
net stop mysql
- 启动不校验密码的
mysql
服务,命令:
mysqld --console --skip-grant-tables --shared-memory
- 重新打开一个
cmd
窗口:
mysql -uroot -p
- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges;
- 创建用户
nick
–方法之一
user mysql; INSERT INTO `user` VALUES ('%', 'nick', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, 'mysql_native_password', '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B', 'N', '2021-11-24 14:20:16', 0, 'N', 'Y', 'Y', NULL, NULL, NULL, NULL); flush privileges;
- 上面的
*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
为mysql
加密后的密码,登录时为root
mysql -unick -proot
- 先关掉已启动的