无法远程访问 mariadb

无法远程访问 mariadb

我是 Linux 的新用户,我被授予了一台远程服务器来使用。我试图远程访问此服务器中的 mariadb 数据库。当我尝试时,出现了“连接被拒绝”错误。

pramod@debian:~$ mysql -h master -u root -p
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on 'master' (111 "Connection refused")

于是在网上查了一些资料,尝试了以下方法找到问题所在。我运行了 ps,得到了以下结果:

[pramod@master my.cnf.d]$ ps auxf | grep mysql
pramod 17612  0.0  0.0 112652   980 pts/2    S+   10:49   0:00              \_ grep --color=auto mysql
mysql    13551  0.0  0.0 917228 97276 ?        Sl   09:55   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/home/database/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/home/database/mysql/mysql.sock

所以我认为 --skip-networking 在参数中(最后一行),我认为这应该是问题所在。所以我检查了我的 my.cnf 文件。它没有它。我在 /etc/ 文件夹中进行了搜索,如下所示:

[root@master my.cnf.d]# grep -rnw '/etc/' -e 'skip-networking'

没找到。然后我搜索了 skip_networking。结果如下:

[root@master my.cnf.d]# grep -rnw '/etc/' -e 'skip_networking'
/etc/akonadi/mysql-global-big.conf:88:skip_networking
/etc/akonadi/mysql-global.conf:88:skip_networking
/etc/akonadi/mysql-global-mobile.conf:88:skip_networking

现在我不知道是否应该处理这些文件。也许不应该。

还有什么我还可以尝试吗?

有人猜出问题可能出在哪里吗?我搜索的“skip-networking”行正确吗?

答案1

您需要首先授予用户远程访问数据库的权限,您可以从 mysql 提示符中执行此操作:

如果用户:root 被允许从网络范围 192.168.100.x/24 进行访问:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;

如果你想允许用户从任何网络连接,你可以用通配符替换“192.168.100.%”:%

此外,该命令还会为用户指定一个新密码。

相关内容