--- title: win10安装Mysql5.7 date: 2023-04-15 18:14:38.026 updated: 2023-04-26 19:32:26.938 url: /archives/mysql57-for-win10 categories: - 数据库 tags: - DB --- # win10安装Mysql5.7 > 环境:windows10 + Mysql5.7.33 ## 下载Mysql安装包 下载地址:https://downloads.mysql.com/archives/community/ ## 解压Mysql包 本次解压的目录是:D:\mysql-5.7.33-winx64 如果是其它路径,记一下解压路径 在目录里手动 **创建一个data文件夹** ,这个是存放数据库数据存放目录 然后 **创建一个my.ini文件** ,这个是配置文件,可以自定义配置 ![](/upload/2023/04/image-1681553566687.png) 下面给出ini一个示例,其中basedir和datadir根据实际安装目录替换一下 ```ini [mysql] #设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置端口 port=3306 #设置mysql安装目录 basedir=D:\mysql-5.7.33-winx64 #设置数据库数据存放目录 datadir=D:\mysql-5.7.33-winx64\data #允许最大连接数 max_connections=180 #服务端字符集 character-set-server=utf8 #创建新表时默认存储引擎 default-storage-engine=INNODB ``` ## 配置环境变量 可以不配置,进入到bin目录执行命令也是可以的 `MYSQL_HOME` `D:\mysql-5.7.33-winx64\bin` ## 安装Mysql **需要使用管理员权限打开CMD!** cmd.exe在C:\Windows\SysWOW64目录下,找到cmd.exe鼠标右键使用管理员权限打开cmd **在mysql的bin目录下执行安装命令** ```sh mysqld install ``` ![](/upload/2023/04/image-1681553597383.png) **执行初始化命令** 加--console目的是为了输入默认密码,后面这个密码会更改 ```sh mysqld --initialize --console ``` ![](/upload/2023/04/image-1681553611319.png) **启动Mysql服务** ```sh net start mysql ``` ![](/upload/2023/04/image-1681553631589.png) **登录Mysql** 使用上面的默认密码登录Mysql ``` mysql -u root -p ``` **修改密码** 可以把123456替换为别的密码,注意要有单引号 ``` ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; ``` ![](/upload/2023/04/image-1681553646827.png) `exit` 命令退出 **使用客户端测试连接** ![](/upload/2023/04/image-1681553674484.png) ## 修改root密码(忘记密码) 有一次我打开电脑后使用DOS登录Mysql报了下面这个错误 ``` ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) ``` 应该是密码有问题,但是我不清楚为什么有问题,大概率密码错误?或者我之前的密码不是这个,我记错了? 说一下我的解决办法 ### 解决办法 在win系统中停止Mysql服务 打开DOS窗口,转到mysql\bin目录 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 ``` mysqld --skip-grant-tables ``` 输入mysql回车,如果成功,将出现MySQL提示符 进入数据库 ``` use mysql; ``` 这里要使用下面这个命令刷一下权限,不然执行修改密码的命令会提示无权限 ``` flush privileges; ``` 然后修改密码 ``` ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; ``` 然后重启数据库,打开新的DOS窗口使用新密码就可以登录了