有时我们无法链接远程数据库(比如处于安全数据库只允许内网访问),我们可以在自己的window上安装mysql调试使用。
1.1.下载
我下载的是64位系统的zip包:
下载地址:https://dev.mysql.com/downloads/mysql/
下载后解压:D:\软件安装包\mysql-5.7.20-winx64(自己的目录即可)
1.2. 配置环境变量:
变量名:MYSQL_HOME
变量值:E:\mysql-5.7.20-winx64
path里添加:%MYSQL_HOME%\bin;
1.3. 生成data文件:
运行cmd
进入D:\软件安装包\mysql-5.7.20-winx64\bin 下
执行命令:mysqld --initialize-insecure --user=mysql 在E:\mysql-5.7.20-winx64目录下生成data目录
1.4. 启动服务:
执行命令:net start mysql 启动mysql服务,若提示:服务名无效...(后面有解决方法==步骤:1.5);
1.5. 解决启动服务失败(报错):
问题1.提示:服务名无效
解决方法:
执行命令:mysqld -install 即可(不需要my.ini配置文件 注意:网上写的很多需要my.ini配置文件,其实不需要my.ini配置文件也可以,我之前放置了my.ini文件,反而提示服务无法启动,把my.ini删除后启动成功了)
若出现下图,需要去资源管理器中把mysql进程全结束了,重新启动即可。
问题2. 安装后,要启动MySQL服务,输入net start mysql
提示:发生系统错误 2。 系统找不到指定的文件。
这个是因为MySQL的路径没有指定,一个解决办法是,先将MySQL卸载,cmd输入mysqld remove,提示成功后,切换到MySQL的目录,如C:\mysql8013\bin
,然后在执行安装mysqld install
,成功后,再net start mysql
,这时候就应该正常启动了。
1.6. 登录mysql:
登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)
E:\mysql-5.7.20-winx64\bin>mysql -u root -p
Enter password: ******
1.7. 查询用户密码:
查询用户密码命令:mysql> select host,user,authentication_string from mysql.user;
1.8. 设置(或修改)root用户密码(passowrd函数已经失效,用此命令修改密码):
1、用安全模式打开,mysqld --skip-grant-tables
2、改为不验证密码:ALTER USER "root"@"localhost" IDENTIFIED BY "password" PASSWORD EXPIRE NEVER;
3、修改密码:ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "123";
1.9. 退出mysql:
mysql> quit
Bye
常用命令总结:
在E:\mysql-5.7.20-winx64目录下生成data目录 :mysqld --initialize-insecure --user=mysql 在E:\mysql-5.7.20-winx64目录下生成data目录
登录mysql:mysql -u root -p;
启动服务:net start mysql
服务名无效则:mysqld -install
改为不验证密码:ALTER USER "root"@"localhost" IDENTIFIED BY "password" PASSWORD EXPIRE NEVER;
修改密码:ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "123";
查看密码: select host,user,authentication_string from mysql.user;
关闭服务net stop MySQL
用安全模式打开,mysqld --skip-grant-tables