关于window安装mysql的步骤和坑
如题,关于window安装mysql的步骤和坑,本人遇到的问题
本人用的 cmd 命令行, git bash有点问题,下面提到(可以试试)
1、首先下载安装包,点击下载mysql v5.7.1
2、下载完毕后解压在D盘(可自定义,但下面的配置要更改一下), 路径为D:\mysql-5.7.13-winx64,然后进入这个目录,新建一个my.ini的文件。内容如下:
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\mysql-5.7.13-winx64 # 设置mysql数据库的数据的存放目录 datadir=C:\wamp-all\sqldata # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
3、在win服务中注册
打开命令行,输入命令:
mysqld --install
注意:这里可能就遇到一个坑,mysql命令的问题:
mysql 不是内部或外部命令,也不是可以运行的程序,
原因:是没有设置环境变量,导致无法在任意目录下运行mysql指令,
解决方法:
3.1、去 D:\mysql-5.7.13-winx64\bin 目录运行cmd,在输入mysql 指令即可(亲测)
3.2、设置环境变量,任意目录运行mysql指令(亲测有效),
右键我的电脑->属性->高级系统设置->环境变量->path(用户变量和系统变量都设置一遍)->编辑,将下载解压的mysql的bin目录的全路径放里面:D:\mysql-5.7.13-winx64\bin\; 多个用分号隔开(前后) 配置完毕可以随意目录下进入mysql,否则要进入D:\mysql-5.7.13-winx64\bin 目录下运行,如果配置完没有生效,尝试重启电脑
解决问题后,输入指令 mysqld --install 注册,
// 注册
mysqld --install
提示:Service successfully installed.
4、开启mysql服务
启动命令:
net start mysql
关闭命令
net stop mysql
5、重置密码问题,如果已经开启了mysql,则需要停止mysql, net stop mysql
// cmd 中
mysql -u root -p
如果用 git bash 可能在这一步卡住了,因为这个命令后一点反应都没有,无语!
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)
如果密码输入错误,则会有如上图提示,或框NO/YES;
默认的账号是 root,密码是 root
5.1、如果不知道或者忘记密码(亲测有效,但是可能要多次尝试):
找到配置文件my.ini ,然后将其打开,打开后,搜索mysqld关键字找到后,在 [mysqld] 下面添加 skip-grant-tables,保存退出;
PS:若提示不让保存时,可以将该文件剪切到桌面,更改保存后再复制到mySQL目录下
这样Enter password不用输入,直接回车跳过,继续 5.3 步骤重置代码;
PS:修改完密码,记得将my.ini中添加的skip-grant-tables删除掉;
5.2、知道密码(亲测):
如果输入对的话,如图
5.3、这样就可以修改密码了,注意:mysql> 每段必须带上分号 ‘;’
// 1、前置必须进入数据库
mysql> use mysql;
提示:Database changed
// 2、修改密码
mysql> update user set password=password("123456") where user="root";
提示:Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0
如果这一步指令报错:Unknown column 'password' in 'field list'; 那说明mysql版本高了
新版本的指令:update mysql.user set authentication_string=password('123456') where user='root';
// 3、刷新数据库
mysql> flush privileges;
提示: Query OK, 0 rows affected (0.01 sec)
// 4、退出mysql
mysql> exit;
提示: Bye
注:123456为新密码,用户可根据自己需要修改成自己的密码,下次mysql -u root -p 的密码就是123456,账号还是root
6、最后重启mysql 服务
net start mysql
是否开启成功可以也可以看win服务
开始按钮+R,打开运行对话框,输入“services.msc”,打开服务窗口
显示已启动,这里也可以手动暂停和停止等操作;
坑二: 无法启动,输入命令打印: mysqld --console
如果有 Error The innodb_system data file ‘ibdata1’ must be writable
解决办法:
关闭mysql服务,并且杀掉mysql进程,然后删除mysql数据库的数据的存放目录以下这两个文件:
PS: 有问题可以留言, 下一章结束 mysql可视化工具和链接本地数据库