mysql - 无需密码访问mysql,以操作系统root身份运行

标签 mysql debian

有没有办法让root用户在不知道密码的情况下以特权访问mysql

虽然不是专家,但我更习惯使用 PostgreSql,而且我知道使用后者的默认 Debian 安装,我只需输入:

# su - postgres
$ psql

我对正在使用的服务器具有 root 访问权限,但管理员尚未为我创建 MySQL 帐户,因此无法访问。

考虑到我很可能篡改MySQL文件,我想一定有一种方法可以让我登录,但我还没有找到。

有一个mysql用户,但似乎不能像postgres用户一样工作:

# su - mysql
# whoami
root
# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

最佳答案

有人指出这不是一个好的做法,但我已经找到了方法。

mysqld 有一个名为 --init-file 的命令行开关它指的是包含服务器启动时执行的 SQL 命令的文件。

所以我可以使用这些命令为自己创建一个用户:

# echo CREATE USER 'scozy'@'localhost' IDENTIFIED BY '****'; > /root/init.sql
# /etc/init.d/mysql stop
# mysqld --init-file=/root/init.sql
# /etc/init.d/mysql restart

关于mysql - 无需密码访问mysql,以操作系统root身份运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24121219/

相关文章:

java - 你需要几层?

mysql - 我们如何在where子句中调用存储过程

mysql - 快速删除MySQL中的重复记录

linux - 查找命令只扫描子文件夹而不是只复制最后一天的文件

ubuntu - 使用 Gnome Ubuntu : I encounter a Black Screen 安装和运行 XRDP(远程桌面)时出错

mysql - MySQL创建函数出错

python - 另一个 `bash: pip: command not found`

linux - 使用创建的用户登录时 CLI 受限

linux - apt-get 安装 mongodb-10gen 失败

mysql - 选择两个日期之间的日期范围并获取计数