[问题][manjaro][MariaDB]启动MariaDB后,无法远程访问,报错信息:'unconnected' user: 'unauthenticated'

1、背景:

启动MariaDB服务,通过python远程访问数据库失败,查询MariaDB日志(systemctl status mariadb)报错信息为:

user: 'unauthenticated' host: '192.168.1.8' (This connection closed normally without authentication)

 

2、原因:

Mysql为了安全性,在默认情况下用户只允许在本地登录,关闭了远程登录权限

 

3、解决办法:

两个步骤:

(1)登录mysql

mysql -u sjm -p

(2)允许用户在任何地方进行远程登录,并具有所有库任何操作权限

GRANT ALL PRIVILEGES ON *.* TO 'sjm'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

(3)查询用户及host:select user,host from mysql.user;

 

 

附:

1、python验证连接数据库代码

 1 import pymysql
 2 
 3 # 打开数据库连接
 4 db = pymysql.connect(
 5     host="192.168.1.14",
 6     user="sjm",
 7     password="123456",
 8     database="sjm_db",
 9     port=3306
10 )
11 
12 # 使用 cursor() 方法创建一个游标对象 cursor
13 cursor = db.cursor()
14 
15 # 使用 execute()  方法执行 SQL 查询
16 cursor.execute("SELECT VERSION()")
17 
18 # 使用 fetchone() 方法获取单条数据.
19 data = cursor.fetchone()
20 
21 print("Database version : %s " % data)
22 
23 # 关闭数据库连接
24 db.close()

 

参考:

https://blog.csdn.net/zhengnz/article/details/6308773

posted @ 2021-02-13 19:49  JmingS  阅读(1978)  评论(0编辑  收藏  举报