1 问题描述
在移动APP的开发过程中少不了对数据库的使用。例如,一般APP中的登录功能就需要用到数据库,那么如何新建一个数据库呢?在新建过程中MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES/NO)的问题如何解决呢?
2 问题分析
建立数据库的方法有很多,可以用SQLSERVER来建立数据库,也可以用Navicat for MySQL来新建数据库而且方法较为简单。但是如何直接利用MySQL来新建数据库呢?——答案就是利用命令行。出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)时,是由于MySQL安装默认的用户是root,这里的root是指数据库的用户,root密码一般在初始化MySQL时存放在你的日志文件中,所以日志文件的存放路径可以通过my.cnf文件进行自定义。
3 解决方案
命令行界面(CLI),是指可在用户提示符下键入可执行指令的界面。我们熟悉的命令行操作有,命令行模式进入文件夹以及删除文件移动文件等等。但是如何使用命令行来新建一个数据库呢?首先要确保电脑上有MySQL,在确保MySQL数据库安装成功的情况下,用快捷键Windows+R打开运行界面输入cmd。
这时我们输入MySQL来连接MySQL数据库,但是会发现这样的情况:
为什么这里打不开MySQL呢?原因在于没有在环境变量path中将没有将MySQL的bin目录加进去。那么我们该如何解决这个问题呢?
首先,我们找到自己电脑上MySQL的安装路径,并找到MySQL文件夹下的bin文件夹的路径。
然后,我们选中我的电脑,右键单击,选择属性并打开。在界面中选择高级系统设置。
打开界面之后我们找到环境变量这一选项并单击,这时我们进入到环境配置的界面,找到path点击新建,将MySQL的bin目录的路径加进去。
将MySQL的bin目录加进去之后,我们再重新打开命令行界面输入mysql。返回了ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) 这样的一串代码,解决如下:
1.找到配置文件my.ini ,然后将其打开,可以选择用记事本打开。
2.打开后,搜索mysqld关键字,在mysqld下面添加skip-grant-tables,保存退出。
3.开始按钮+R,打开运行对话框,输入“services.msc”,打开服务窗口,重新启动mysql服务。
4.然后进入命令行输入mysql -u root -p就可以不用密码登录了,出现password的时候直接回车。进入mysql数据库:use mysql Database changed。给root用户设置新密码:mysql> update user set password=password("123456") where user="root";提示:Query OK, 刷新数据库mysql> flush privileges;提示:Query OK, 退出mysql:mysql> exit,提示bye。改好之后,打开my.ini文件,把我们刚才加入的"skip-grant-tables"删除,保存退出再重启mysql服务就可以了。
5.我们在命令行里输入mysql –u root -p,这里的root是用户名。出现enter password后,输入密码即可进入mysql。
6.这时我们就可以来创建一个新的数据库了。我们输入create database test01;(注意结尾加分号),这里的test01就是创建的数据库的名字。
7.我们如何才能知道是否真的创建成功呢?我们可以通过查询命令来看,是否存在这个名叫test01的数据库。只需要在命令行输入show databases即可。