今天在centos7上使用yum安装了mysql(MariaDB)。
使用默认的匿名用户及root用户可以正常登录。
但是新创建的用户,并且已经确认授权的用户登录时一直提示:
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
然后停掉mysql(MariaDB)数据库。
systemctl stop mariadb;
切换到/usr/bin
使用_safe安全模式启动,启动卡住,无法正常启动
./mysqld_safe --skip-grant-tables;
最后重启数据库时发现可以正常使用新建用户登录数据库了。
systemctl restart mariadb;
使用匿名用户登录是不会显示mysql数据库及其他所有数据库的,只能显示information_schema和test数据库,所有确认登录的是非匿名用户,也就是新建的用户可以正常登录了。
总结:重启数据库之后新建的用户可以正常登录,猜测一开始执行的 FLUSH PRIVILEGES 刷新权限命令不生效,导致新建用户一直无法登录,重启数据库之后刷新了数据库整体缓存数据,所以可以正常登录。