用python创建一个可以验证mysql用户的代码
时间: 2023-05-26 15:07:36 浏览: 49
以下是一个可以验证MySQL用户的Python代码:
```python
import mysql.connector
def validate_user(username, password):
try:
# Connect to MySQL Server
cnx = mysql.connector.connect(user=username, password=password, host='localhost', database='mysql')
# Test if user exists and has privileges
cursor = cnx.cursor()
cursor.execute("SELECT User, Host FROM mysql.user WHERE User='%s' AND Host='localhost'" % username)
user_exists = cursor.fetchone()
cursor.execute("SHOW GRANTS FOR '%s'@'localhost'" % username)
user_has_privileges = cursor.fetchone()
# Close connections
cursor.close()
cnx.close()
# Return result
if user_exists and user_has_privileges:
return True
else:
return False
except mysql.connector.Error as err:
print("Error: {}".format(err))
return False
# Example usage: validate_user('testuser', 'testpass')
```
该代码基于MySQL的Python Connector,使用提供的用户名和密码尝试连接到MySQL服务器。如果连接成功,代码会检查该用户是否存在,并检查是否有在'localhost'上的特权。如果都满足,则返回True,否则返回False。