phpmyadmin用root用户登录 MariaDB 10.1.26 (mysql 5.7) 失败
环境:Debian 9.4, MariaDB 10.1.26 或 mysql 5.7, phpmyamdin 4.8
过程:
- 在Debian系统里安装好 nginx + php7.0 + MariaDB 的环境,放置一份 phpmyadmin 尝试登录
- 用 MariaDB 的root用户和密码登录,失败,提示:
>mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'>mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'
- 搜索得,如 mysql 5.7 版本后,默认不允许root用户从如phpmyadmin登录
- 可在服务器里通过mysql,创建一个有完全权限的新用户,如果是生产环境,建议仅授权指定数据库的权限:
`CREATE USER 'idbadm'@'localhost' IDENTIFIED BY 'meizi36829';` `GRANT ALL PRIVILEGES ON *.* TO 'idbadm'@'localhost' WITH GRANT OPTION;` `FLUSH PRIVILEGES;`
- 用新建用户的信息(登录名idbadm,密码meizi36829),再次登录phpmyadmin,成功
参考:
- https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7
- https://zenidas.wordpress.com/recipes/mysql-5-7-root-login-without-sudo/
标签: phpmyadmin
教你删除MySQL/MariaDB用户帐户的方法
2019-08-24 15:02:55作者:曾秀珠稿源:云网牛站
MySQL允许你创建多个用户帐户并授予适当的权限,以便用户可以连接和管理数据库,如果不再需要用户帐户,则最好删除用户权限或完全删除用户帐户。本文介绍如何删除MySQL/MariaDB用户帐户的方法。安装请参考如何在Ubuntu上安装MySQL/MariaDB、在Ubuntu 18.04/18.10系统上安装MariaDB 10.3.13稳定版本。
DROP USER声明
在MySQL中,你可以使用DROP USER语句删除一个或多个用户并分配权限,该语句的一般语法如下:
DROP USER [IF EXISTS] USER_ACCOUNT [, USER_ACCOUNT] …
例如,要删除brian@localhost用户帐户登录到MYSQL shell并运行:
DROP USER ‘brian@localhost’;
成功后,命令将返回:
Query OK, 0 rows affected (0.00 sec)
要在单个命令中删除多个用户帐户,请运行DROP USER语句,然后运行要按空格分隔的要删除的用户:
DROP USER ‘brian@localhost’ ‘any@localhost’;
如果你尝试删除不存在的用户帐户并且未使用IF EXISTS子句,则该命令将返回错误。如果你尝试删除的用户当前已登录,则不会关闭用户会话,并且用户将能够运行查询,直到会话结束,会话关闭后,用户将被删除,它将无法再登录MySQL服务器。不会自动删除用户创建的数据库和对象。
删除MySQL用户帐户(适用MariaDB)
下面具体说明如何列出和删除MySQL用户帐户。
首先,使用root或其他管理用户登录MySQL shell,为此,请键入以下命令:
sudo mysql
如果你使用旧的本机MySQL身份验证插件以root身份登录,请运行以下命令并在出现提示时输入密码:
mysql -u root -p
以下命令在MySQL shell中执行。
MySQL在mysql数据库的用户表中存储有关用户的信息,使用以下SELECT语句获取所有MySQL用户帐户的列表:
mysql> SELECT User, Host FROM mysql.user;
输出应该如下所示:
注:在MySQL中,用户帐户由用户名和主机名部分组成,jabba@localhost和jabba@10.10.8.8是不同的用户帐户。
假设不再需要chewbacca@localhost用户帐户,我们希望将其删除。
要删除用户运行:
mysql> DROP USER ‘chewbacca’@’localhost’
成功后,命令将返回:
Query OK, 0 rows affected (0.00 sec)
该命令将删除用户帐户及其权限,至此,现在用户已被成功删除。
结论
要删除MySQL用户帐户,请使用DROP USER语句,后跟要删除的用户的名称。
相关主题
在Ubuntu18.04系统下彻底删除MySQL的方法
默认情况下,新安装的 mariadb 的密码为空,在shell终端直接输入 mysql 就能登陆数据库。
如果是刚安装第一次使用,请使用 mysql_secure_installation 命令初始化。
这里针对的是知道 root 密码,而需要修改的情况。
两种修改方法:
1、直接在shell命令行使用 mysqladm 命令修改。
2、登陆数据库修改密码。
如果是忘记了 root 密码,则需要以跳过授权的方式启动 mariadb 来修改密码。
1、先停掉服务。
2、使用跳过授权的方式启动 mariadb。
3、当跳过授权启动时,可以不需要密码直接登陆数据库。登陆更新密码即可。
4、关闭跳过授权启动的进程:
5、正常启动 mariadb: