宝塔建MySQL库关键在权限与字符集配置:数据库名用小写字母+下划线,用户名密码自设,字符集必选utf8mb4,远程访问需将“允许访问”改为%并刷新权限。

宝塔面板里新建 MySQL 数据库的实际步骤
直接在宝塔界面点几下就能建库,但很多人卡在「建了却连不上」或「权限没开导致程序报错」。关键不是点“创建”,而是后续的权限和字符集配置。
操作路径:左侧菜单 → 数据库 → 点右上角「添加数据库」
-
数据库名不能含特殊符号或中文,推荐用小写字母+下划线,比如blog_db -
用户名和密码别用默认生成的(虽然安全),建议自己设——因为很多 PHP 程序要求你手动填进config.php,生成的随机密码容易漏复制 -
字符集选utf8mb4,不是utf8;MySQL 的utf8实际只支持 3 字节,存不了 emoji 和部分生僻汉字 - 「允许访问」默认是
127.0.0.1,如果要用 Navicat 或本地脚本远程连,得改成%或指定 IP,改完记得点「权限设置」里的「刷新权限」按钮
为什么 PHP 连不上刚建的宝塔 MySQL 库
90% 是权限或连接参数写错,不是服务没启。宝塔默认开了 MySQL,且监听 127.0.0.1:3306,但 PHP 脚本里写的 host、port、user、dbname 必须和面板里完全一致,大小写敏感。
- 常见错误现象:
Access denied for user 'xxx'@'localhost'—— 检查面板里该用户的「权限设置」是否已勾选「所有权限」,并点了「保存」 - 如果 PHP 报
Connection refused,先确认 MySQL 服务状态:宝塔首页 → 软件商店 → MySQL 行末「运行中」是否亮绿灯 -
host别乱写localhost:PHP-FPM 和 MySQL 同机时,127.0.0.1更稳;localhost在某些配置下会走 socket,而宝塔默认禁用 socket 连接 - 端口别改错:宝塔默认是
3306,但如果你改过 MySQL 配置文件/www/server/mysql/my.cnf中的port,PHP 里也得同步改
删除数据库前必须做的三件事
宝塔删库是物理删除,不可逆。不是清空表,是直接 rm -rf 对应目录,删完就真没了。
- 先导出备份:选中库 →「导出」→ 下载
.sql文件到本地,别只点「备份」放服务器上——万一磁盘坏了或误删备份目录,就全丢 - 确认没程序正在用:比如 WordPress 的
wp-config.php还指着这个库,删了会导致网站白屏,报错Can't select database - 检查用户绑定:一个 MySQL 用户可能有多个库权限,删库后用户本身还在,但权限残留可能引发后续新建同名库时的冲突,建议删库后顺手进「用户管理」看看要不要删对应用户
phpMyAdmin 打不开或登录失败怎么办
宝塔自带的 phpMyAdmin 是独立子应用,和 MySQL 服务解耦,它挂了不影响数据库本身运行,但会影响可视化操作。
- 打不开页面(502 或空白):大概率是 phpMyAdmin 对应的 PHP 版本被删了,去「软件商店」→ 找到你当前站点用的 PHP 版本 → 点「设置」→「安装扩展」→ 勾上
mysqli和mbstring,重启 PHP - 登录报
#1045 Cannot log in to the MySQL server:不是密码错,是 phpMyAdmin 配置里用的账号没权限。打开/www/server/phpmyadmin/config.inc.php,检查$cfg['Servers'][$i]['user']和password是否匹配你在宝塔「数据库」页创建的用户信息 - 新版宝塔(v8.0+)默认关闭 phpMyAdmin 外网访问,只允许内网(
127.0.0.1)。想从浏览器访问,得在宝塔「安全」页放行端口888,并确保 phpMyAdmin 的 Nginx 配置里没有deny all类规则










