Mysql安装问题
2016-09-28
之前北京实习的时候用过mysql,最近练习python也需要用,重新下载安装,遇到点小问题,记录一下。
正常流程
首先下载Mysql官网下载。下载时windows上的安装包有两种,一种msi的支持直接安装,我以前貌似就是下的这个,应该问题少一些。这次我下的64位的只有rar的,所以遇到了问题。
下载好后,第一步是通过cmd窗口一路cd进入安装目录,然后把bin文件夹路径添加到环境变量path里。如:
E:\mysql-5.7.15-winx64\bin
然后在根目录下新建一个文件“my.ini”,内容为
[mysqld]
basedir=E:\mysql-5.7.15-winx64\bin(mysql所在目录)
datadir=E:\mysql-5.7.15-winx64\bin\data (mysql所在目录\data)
接着就是以管理员身份运行CMD ,cd进bin文件夹,输入
mysqld -install
最后就提示安装成功了,启动MYSQL:
net start mysql
登录mysql:
mysql -u root -p
退出mysql环境时输入quit。 然后还需要退出mysql服务。
net stop mysql
好了以上是理论上的正常流程,现实总是充满了臭虫的,记录下我遇到的三个问题。
问题一
在进行到net start mysql时,提示启动失败,服务器未返回问题,同时用windows资源管理器手动启动提示“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。” 其实呢,问题在于rar安装的目录下没有data文件夹(也不要自己新建),所以我们需要自己初始化一下(进入bin目录下):
mysqld --initialize
然后就会发现根目录下多了data文件夹,同时里面还有很多文件。再就可以成功启动了。
问题二
启动又遇到第二个问题,输入
mysql -u root -p
登录失败,提示“ERROR 1045 (28000): Access denied for user ‘ODBC’@’localhost’ (using password: NO)”。So easy,直接扔到搜索引擎里,解决办法是,在my.ini文件里的mysqld下添加一行”skip-grant-tables“(没有双引号),然后保存并退出,就可以先跳过登录了。然后重启mysql,成功进入mysql,再执行以下代码:
mysql> use mysql
mysql> update user set password=password("123456") where user="root";
mysql> flush privileges; //刷新数据库
mysql> quit
修改好了之后保存退出,然后再删除my.ini下的skip-grant-tables那一行,重启mysql即可通过自己设置的密码登录了。
问题三
这里修改密码时又遇到第三个问题(好吧,简直环环相扣..):ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’.继续搜索,原来是表单里的密码栏名称变了,改成authentication_string即可:
mysql> update user set authentication_string=password("123456") where user="root";
Over.