当前位置:论坛首页 > Linux面板 > 讨论

教程:宝塔MySQL远程访问

发表在 Linux面板2025-2-8 10:29 [复制链接] 0 673

MySQL默认是关闭远程用户访问的,比如要在本地使用navicat等工具远程连接数据库会出现无法访问的情况
这是因为需要在mysql库的user表中新建一个Host为%的用户,%代表所有用户
一定不要修改默认的Host=localhost为%,否则会出现宝塔面板无法管理数据库的情况

下面整段sql语句直接复制到phpAdmin中执行即可

-- 宝塔新建所有用户连接

SET @sql = NULL;

--  生成包含所有列的 INSERT ... SELECT 语句
SELECTGROUP_CONCAT(COLUMN_NAME) INTO @columns
FROMINFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA ='mysql' AND TABLE_NAME = 'user';

SET @sql = CONCAT(
    'INSERT INTO mysql.user (', @columns, ') ',
    'SELECT ', REPLACE(@columns, 'Host','"%"'), ' FROM mysql.user WHERE Host = ''localhost'' AND User =''root'';'
);

--  执行动态SQL
PREPARE stmt FROM@sql;
EXECUTE stmt;
DEALLOCATE PREPAREstmt;

-- 刷新权限
FLUSH PRIVILEGES;

使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析
快速回复 返回顶部 返回列表