mysql问题集锦

2018-12-18  本文已影响0人  xbmchina

问题一:匿名登录占用,Mariadb 数据库root用户无法登录

[ ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)]

如果你的Linux控制台是匿名登录的话(也就是说运行 mysql -uroot -pxxxxx 无法登录到mysql的话)

解决方法:
打开Navicat,运行下面的指令

grant all privileges on *.* to root@localhost identified by 'xxxxxx';

原因:
匿名登录占用了。【参考文章

问题二:解决mysql查询,in条件参数为带逗号的字符串,查询结果错误。

场景如下:(in语句中如果是一段字符串的话)。

IN语句字符串.png

解决方法:使用FIND_IN_SET函数

SELECT pt.`code`,pt.`name` FROM `poi_type` pt WHERE FIND_IN_SET(pt.`code`,'2106,2103,2104');

效果如下图:

FIND_IN_SET.png

注意事项:

FIND_IN_SET是全表查询,而IN是部分表查询的(可以使用索引的)。
【参考】Mysql中FIND_IN_SET()和IN区别简析。

上一篇 下一篇

猜你喜欢

热点阅读