mysql官网下载windows安装包
mysql官网下载windows安装包
下载地址:https://dev.mysql.com/downloads/mysql/


2. 安装mysql
1. 配置环境变量
变量名:MYSQL_HOME 路径:D:\mysql\mysql-8.0.25-winx64

2. 生成data文件
以管理员身份运行CMD进入mysql安装目录bin目录下,执行:mysqld --initialize-insecure --user=mysql 在C:\software\mysql-8.0.19-winx64.zip\mysql-8.0.19-winx64下和bin同级目录生成data目录(执行报错请执行第3步安装Visual C++安装后需重启主机生效)
3. 安装mysql
继续执行命令:mysqld –install
4. 启动服务
启动服务:net start mysql
停止服务:net stop mysql
若输入net start mysql 提示不是内部命令或外部命令,也不是可运行的程序;则需要:在“系统变量”(用户变量)里找到path,编辑,将 “%SystemRoot%\system32”添加进去即可解决;
5. 登录MySQL
登录mysql: mysql -u root -p
(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)

6. 密码管理
查询用户密码命令: select host,user,authentication_string from mysql.user;
设置或修改用户密码:
方法1:update mysql.user set authentication_string=("123456") where user="root";
方法2:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
执行完毕后需执行:flush privileges; 保存修改
7. 退出:exit
8. 再次以新密码登录
mysql -u root –p 输入密码:123456
3. 安装时提示报错则需安装Visual C++

下载地址:https://dev.mysql.com/downloads/file/?id=504762
4. 关于重装mysql
1. 打开cmd,切换到mysql的bin目录下,输入命令:net stop mysql,停止mysql服务;

2. 打开mysql的安装目录,找到data文件夹,将其删除!
3. 回到cmd命令窗口,输入mysqld -remove

4. 按照安装步骤安装即可
5. 创建数据库
使用 MySQL 命令行工具创建一个测试数据库,命名为 My_db,指定其默认字符集为 utf8,输入:
CREATE DATABASE IF NOT EXISTS My_db
DEFAULT CHARACTER SET utf8;
查看数据库My_db 信息:SHOW CREATE DATABASE My_db;
6. mysql用户管理
1. 创建新用户gz12345
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登录,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登录密码,密码可以为空,如果为空则该用户可以不需要密码登录服务器.
2. 删除用户
DROP USER 'username'@'host';
7. mysql授权管理
1. 新增授权
GRANT privileges ON databasename.tablename TO 'username'@'host';
说明:privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
举例:
给用户gz12345授权数据库My_db查询和新增数据权限,可以在所有ip连接数据库
GRANT SELECT, INSERT ON My_db TO 'gz12345'@'%';
给用户gz12345授予本机所有数据库权限
GRANT ALL ON *.* TO 'gz12345'@'%';
给用户gz12345授予本机My_db数据库权限
GRANT ALL ON My_db.* TO 'gz12345'@'%';
2. 撤销授权
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
说明:privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
3.刷新权限:
FLUSH PRIVILEGES;
注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
3. 关于授权的常见错误
1.授权时报错:You are not allowed to create a user with GRANT;
解决方法:root用户下执行user mysql;
再执行update user set host='%' where user=username;修改后再次授权若还报错重复执行第二次即可成功。
2. 连接Navicat报错

解决方法:这是因为mysql8的加密方式和Navicat不一样,修改加密方式:
alter user username identified with mysql_native_password by 'gz12345';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现