MariaDB 不允许远程连接

mysql

1个回答

写回答

fiona903

2025-06-15 21:55

+ 关注

MySQL
MySQL

MariaDB 不允许远程连接

MariaDB 是一个开源的关系型数据库管理系统,它是 MySQL 的一个分支。在使用 MariaDB 进行开发和部署时,有时候需要从远程服务器访问数据库。然而,与 MySQL 不同的是,MariaDB 默认情况下不允许远程连接。这意味着,如果想要从另一台计算机上的应用程序或工具访问 MariaDB 数据库,需要进行一些配置。

配置 MariaDB 允许远程连接的方法

要使 MariaDB 允许远程连接,需要进行以下几个步骤:

1. 修改 MariaDB 的配置文件:打开 MariaDB 的配置文件 my.cnf(或 my.ini),该文件通常位于安装目录下的 /etc 或 /etc/MySQL 文件夹中。在文件中找到并编辑 [MySQLd] 部分的 bind-address 属性,将其值修改为数据库服务器的 IP 地址或者 0.0.0.0,表示允许从任何 IP 地址进行连接。

2. 重启 MariaDB 服务:修改完配置文件后,需要重启 MariaDB 服务,以使配置生效。可以通过以下命令来重启 MariaDB 服务:

sudo systemctl restart mariadb

3. 授权远程访问:默认情况下,MariaDB 的 root 用户只能在本地进行访问。如果想要从远程主机上的应用程序连接 MariaDB,需要创建一个具有远程访问权限的用户,并为其授权。可以使用以下 SQL 命令来创建用户并授权:

sql

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

案例代码

下面是一个使用 Python 连接 MariaDB 数据库的简单案例代码:

Python

import MySQL.connector

# 连接数据库

cnx = MySQL.connector.connect(user='username', password='password', host='hostname', Database='Databasename')

# 创建游标

cursor = cnx.cursor()

# 执行 SQL 查询

query = "SELECT * FROM table_name"

cursor.execute(query)

# 获取查询结果

result = cursor.fetchall()

# 输出查询结果

for row in result:

print(row)

# 关闭游标和连接

cursor.close()

cnx.close()

以上代码中,我们使用 MySQL.connector 模块连接 MariaDB 数据库,并执行了一个简单的查询操作。通过修改连接参数中的用户名、密码、主机名和数据库名,即可适配实际情况。

MariaDB 默认不允许远程连接,但我们可以通过修改配置文件、重启服务和授权远程访问的方式来使其允许远程连接。在实际应用中,根据需求和安全考虑,需要谨慎配置远程访问权限,并确保数据库的安全性。通过以上的配置和案例代码,我们可以顺利地实现从远程主机访问 MariaDB 数据库的操作。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号