电脑多加了一个内存条,就装了64位的系统,然后重装了一大波软件,然而到了MySQL,我作死,因为之前是用msi装的,据说还有一种压缩文件的装法,于是我就下了个安装包,按照网上的教程开始配置,完了之后遇到下面这个问题:
网上查了下如何解决,有人说是因为data文件有问题,我就删掉了我的data文件,然后输入mysqld --initialize来初始化,果然自动生成了一个data文件包,而且可以启动MySQL服务了:
然而好景不长,我无法登陆,我回忆了一下,好像却是没有设置过密码啊,于是我又网上查了解决方案,网上说,要在my.ini文件下添加skip-grant-tables,然后就可以无密码登陆了,于是我修改了my.ini文件然后关闭当前mysql服务,输入mysqld --skip-grant-tables,如果不返回任何信息,说明成功:
然后打开一个新的cmd,切换到bin目录之后,输入mysql,就可以进行操作了:
然后好像确实能够进行操作了,然而我还是觉得有密码比较好,毕竟每次这么打开两个cmd还是很麻烦的,于是我又在网上找到了解决方案,可以进行密码修改:需要四步:
>use mysql
>updata mysql.user set authentication_string=password(‘1234‘) where user=‘root‘;
?>flush privileges;
>quit;
然后我删掉my.ini里面添加的那句skip-grant-tables,重新管理员身份打开cmd,然后打算以最初的方式开启mysql服务,又出现了第一张图的现象。。。。。
然后我有重复以上步骤,删掉data文件夹,发现因为文件被占用而无法删除,打开资源管理器发现线程里有mysqld.exe(这是为什么呢?后面发现好像是因为修改密码过程中开启的,但是没有关掉?),关掉之后可删除。然后mysql --initialize,就可以顺利开启MySQL服务了,然而还是不能access,于是接着无密码登陆,在出现mysql图标之后不进行密码修改,而直接输入SQL操作数据库,然后想退出的时候发现没有开启MYSQL服务……
如果没有开启这个服务,那么我之前那些对数据库的操作是怎么实现的?然后我再次只输入mysql,发现可以打开mysql,进行密码修改操作之后,
我开始一系列乱七八糟的试验:
好吧,我猜测,我之前一直用的那种开启MySQL服务的方法是root用户的,而现在授权无密码登录的是ODBC用户,我想问的是:我的猜测是对的吗?如果是对的话,数据库的user有哪些?都是怎样开启MySQL服务的?