你说的 sqladmin 可能指两种情况,我先分别说明,你可以对照你的需求:
在 Debian 上最常见,通常叫 sql admin 工具。
sudo apt update
sudo apt install phpmyadmin
安装过程中会问:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo systemctl restart apache2
访问:
http://服务器IP/phpmyadmin
root 或你创建的 MySQL 用户用于管理数据库(PostgreSQL / MySQL / SQLite)。
pip install sqladmin
from fastapi import FastAPI
from sqladmin import Admin, ModelView
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine("mysql+pymysql://user:password@localhost/dbname")
Session = sessionmaker(bind=engine)
app = FastAPI()
admin = Admin(app, engine)
# 添加模型视图
class UserAdmin(ModelView, model=User):
column_list = [User.id, User.name]
admin.add_view(UserAdmin)
运行:
uvicorn main:app --host 0.0.0.0 --port 8000
访问:
http://服务器IP:8000/admin
无法登录 root
Debian 默认 MySQL root 用 unix_socket,可新建用户:
CREATE USER 'admin'@'localhost' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';
FLUSH PRIVILEGES;
Nginx + phpMyAdmin
需要配置 location /phpmyadmin 并启用 PHP。
如果你能告诉我:
cat /etc/os-release)我可以给你更精确的配置步骤。