分类
技术分享

phpmyadmin登录后报错ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

ERROR 1045 (28000): Access denied for user ‘root’@’ily22.com’ (using password: YES)

数据库无法登录,密码也是安装时的,出现这种情况,只能重置密码看看了。

通过跳过密码验证来重置密码,


vim /etc/my.cnf
找到[mysqld]进行编辑加入skip-grant-tables


:wq 保存文档并退出
然后重启MySQL( 输入/etc/init.d/mysql restart有的是/etc/init.d/mysqld restart)
由于我的是一键lnmp安装的,所有点不同MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
尽管我输入/etc/init.d/mysql restart重启或者reload重载,force-reload强制重载都没效果


报错Starting MySQL… ERROR! The server quit without updating PID file

这个是说有进程需要kill才能重启,我比较懒直接重启lnmp还是不行,就直接lnmp kill,再重启mysql就正常了。(lnmp1.2+版本状态管理: lnmp {start|stop|reload|restart|kill|status})


重启mysql之后输入mysql即可进入mysql了。

接下来就是通过SQL语句来重置密码

mysql> use mysql;
mysql> update user set password=password(“你的新密码”) where user=”root”;
mysql> flush privileges;
mysql> quit

重置密码完成就可以直接登陆phpmyadmin管理mysql数据库了。

 

分类
技术分享

MySQL数据库第一句:SELECT

想必大家学习MySQL时,第一个语句就是SELECT吧,它主要用于从一个或多个表中检索信息。
使用SELECT 时,至少列出两条信息,比如你要检索什么数据,从什么地方检索。比如:
SELECT test_name
FROM products;

上面是利用SELECT 语句从products 表中检索一个名为dd_name的列,如果开始不太清楚的朋友会问为什么有的大写有的小写,其实SQL语句不区分大小写,因此SELECT与select是相同的,为了方便辨识和使用SQL关键字,通常都是使用大写,而对所有列和表名使用小写。

在处理SQL语句时,空格是可以忽略的,所以你会看到很多人的SQL语总是上一行下一行也不规则,其实这就是忽略空格后,根据自己的喜好调整下排版会更容易直观的阅读。

上面说的SELECT语句还能够检索多个列,用法一样,就是在列名之间必须以逗号分隔(最后一个列名后不用加)。用法如下:
SELECT test_id, test_name, test_price
FROM products;

这样SELECT 语句就从products表中检索了3列名

除此之外,SELECT也能检索所有列,用用星号(* )通配符来代表所有的列。比如:
SELECT *
FROM products;

就可以列出products表中所有的列。其实SELECT的用法还有很多,这里就不一一举例了,只是初略的介绍下。