我写了一个docker编写文件并使用了docker compose up -d
命令.然后我写了一个简单的Python脚本来连接maria DB,但每次都会出现错误.
我的虚拟环境中的mariadb版本是1.0.11 pip install mariadb==1.0.11
version: '3.8'
services:
mariadb:
image: mariadb:latest
container_name: my_mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: myrpass
MYSQL_DATABASE: db1
MYSQL_USER: user
MYSQL_PASSWORD: mypass
volumes:
- mariadb-data:/var/lib/mysql
ports:
- "3307:3307"
volumes:
mariadb-data: {}
我的Python代码:
import mariadb
host = "mariadb"
port = 3307
user = "user"
password = "mypass"
database = "db1"
try:
conn = mariadb.connect(
host=host,
port=port,
user=user,
password=password,
database=database
)
cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
version = cursor.fetchone()[0]
print(f"Connected to MariaDB server version: {version}")
except mariadb.Error as e:
print(f"Error connecting to database: {e}")
else:
print('Connection found attempting to close it now')
if conn:
conn.cursor().close()
conn.close()
finally:
print('Code execution complete')
使用mariadb作为主机时出错:
Error connecting to database: Unknown MySQL server host 'mariadb' (-3)
Code execution complete
使用本地主机作为主机时出错:
Error connecting to database: Access denied for user 'user'@'localhost' (using password: YES)
Code execution complete