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;
|