Mysql匿名登录无法创建数据库问题解决方案

常见问题

Access denied for user ''@'localhost' to database 'web02' //web02是我自己创建的数据库

原因分析:mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的

下面对比两种登录方式

1)mysql -u root -p

可见这种最原始的方法并不保险 ,系统并不知道用户是不是匿名的

2)mysql -hlocalhost -uroot -p

-h表示服务器名,localhost表示本地;-u为数据库用户名,root是mysql默认用户名;-p为密码,如果设置了密码,可直接在-p后链接输入,如:-p123456,若用户没有设置密码,显示Enter password时,直接回车即可。

采用这种方法进入数据库即可快速解决问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • mysql增加新用户无法登陆解决方法

    今天安装openstack folsom版本,安装完mysql,为各个服务增加对应的数据库和用户后,发现 无法使用新增的用户登陆mysql.我增加用户的方法如下: mysql -uroot -p$MYSQL_PASS <<EOF CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '$MYSQL_PASS'; CREATE DATABASE glance; GRANT ALL PRIV

  • MYSQL删除匿名用户的方法(提高安全性)

    安装完MySQL以后会自动创建一个root用户和一个匿名用户,对于root大家都非常注意,而这个匿名用户很多人都会忽略,大概是因为匿名用户默认设定为只能在本地使用的缘故吧. 但如果MySQL要作为数据库提供给Web服务器使用的话,忽略这个匿名用户的代价可能相当惨重.因为在默认设置下,这个匿名用户在localhost上几乎拥有和root一样的权限.很可能因为访问者上传一个PHP文件,用这个PHP文件创建一个新用户,并给他一个较高的权限,然后用这个新用户连接到服务器的MySQL,对该服务器的MySQ

  • mysql8.0.11客户端无法登陆的解决方法

    本文为大家分享了mysql8.0.11客户端无法登陆的解决方法,供大家参考,具体内容如下 mysql8.0.11 默认加密方式[caching_sha2_password],Navicat for MySQL和Navicat Premium 12客户端不支持. 可以使用在数据库服务器上登录: mysql>use mysql; mysql> select user, host, plugin, authentication_string from user where user='test';

  • php+mysql实现用户注册登陆的方法

    本文实例讲述了php+mysql实现用户注册登陆的方法.分享给大家供大家参考.具体分析如下: 这是一款利用php与mysql数据库实现的用户注册与登录代码,功能也是比较简单实用的用户注册程序,同时也加了用户登录时验证码程序,这样做就安全了很多,代码如下: 复制代码 代码如下: <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xh

  • 解决MySQL8.0安装第一次登陆修改密码时出现的问题

    下面给大家介绍下mysql 8.0.16 初次登录修改密码 mysql数据库初始化后初次登录需要修改密码 初次登录会碰到下面这个错误 ql> alter user root identified by 'password'; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 需要使用下面的命令来修改密码 mysql> alter

  • 浅谈mysql密码遗忘和登陆报错的问题

    mysql登录密码忘记,其实解决办法很简单,只需要在mysql的主配置文件my.cnf里添加一行"跳过授权表"的参数选择即可! 在my.cnf中添加下面一行: [root@test-huanqiu ~]# vim /etc/my.cnf              //在[mysqld]区域里添加 ........ skip-grant-tables                       //跳过授权表 然后重启mysql服务,即可无密码登录 [root@test-huanqiu

  • 初始化MySQL用户(删除匿名用户)

    安装完MySQL后,系统默认会创建一个不需要密码的root用户,和一个无用户名无密码的匿名用户(Anonymous Account).进行下面的初始化操作以合理授权,增强安全. 设置root密码先以root身份登入mysql -u root,设置root密码: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password'); 创建新用户# 创建用户和设置密码 CREATE USER '新用户'@'localhost' IDENTIFI

  • Shell下实现免密码快速登陆MySQL数据库的方法

    背景 当我们在 Shell 下想要通过 mysql-client 登陆到 MySQL 数据库的时候,我们总是需要非常麻烦的输入一次又一次的密码. 而且,如果你的 root 密码是高度随机的话(LastPass大法好),那么你登陆一次 MySQL 数据库的成本就会非常大了. 通常我们登陆数据库的时候都是这样登陆的,如下 root@imlonghao:~# mysql -uroot -p Enter password: 那么,有没有一个办法能够既安全,又能简单方便地登陆到数据库去呢? 方法 答案当然

  • MySQL服务器登陆故障ERROR 1820 (HY000)的解决方法

    故障现场:登陆到MySQL服务器,不管你执行什么命令都报这个错 mysql> show databases; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> use test; ERROR 1820 (HY000): You must reset your password using ALTER USER st

  • MySql登陆密码忘记及忘记密码的解决方案

    方法一: MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器: safe_mysqld --skip-grant-tables& 即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库. 需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效 方法二: 可以进行如下的步骤重新设置MySQL的root密码: 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码

随机推荐