宝塔用户_xoxxhk 发表于 2024-4-11 12:00:02

【已完成】Mysql 命令行运行

为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:不限
系统版本:不限
问题描述:如何批量执行 Mysql 给所有数据库
相关截图(日志、错误):无
我服务有50个数据库,都是wp的

现在要修改全部账号密码,站点挨个修改很慢

现在想去 phpmyadmin 通过 SQL 命令来执行

但是还是需要一个一个数据库的方式去执行

我尝试用数据库管理跟路径去执行命令,看能不能所有数据库变,但是报错无法执行,还是需要挨个点击数据库执行

现在有没有一个好的办法,在 phpmyadmin 只执行一次 mysql 命令,就可以将 50 个站的数据全部修改掉?

蓝易云 发表于 2024-4-11 12:00:58


你可以使用循环语句来批量修改所有数据库的密码。

宝塔用户_xoxxhk 发表于 2024-4-11 12:01:10

批量修改的不止是管理员账户密码,还有post 的文章内容关键词和链接

堡塔运维南一 发表于 2024-4-11 12:21:54

宝塔用户_xoxxhk 发表于 2024-4-11 12:01
批量修改的不止是管理员账户密码,还有post 的文章内容关键词和链接
您好,可以参考下面脚本,如果还是无法解决,请您到网上去查找一下解决办法
#!/bin/bash

USER="new_username"# 新的用户名
PASSWORD="new_password"# 新的密码(请确保在生产环境中不要明文存储密码)
PREFIX="your_prefix_"# 数据库名称前缀

# 获取所有以PREFIX开头的数据库名称
DATABASES=$(mysql -u root -p -Nse "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME LIKE '${PREFIX}%'")

# 遍历每个数据库并更新密码
for DB in $DATABASES; do
    echo "Updating database: $DB"
    mysql -u root -p$PASSWORD $DB -e "UPDATE wp_users SET user_login='$USER', user_pass=MD5('$PASSWORD') WHERE user_login='old_username';"
    echo "Updated $DB"
done

宝塔用户_xoxxhk 发表于 2024-4-11 13:35:44

运维技术南一 发表于 2024-4-11 12:21
您好,可以参考下面脚本,如果还是无法解决,请您到网上去查找一下解决办法
#!/bin/bash



这个是直接在左侧计划里执行吗?

宝塔用户_xoxxhk 发表于 2024-4-11 13:52:02

运维技术南一 发表于 2024-4-11 12:21
您好,可以参考下面脚本,如果还是无法解决,请您到网上去查找一下解决办法
#!/bin/bash



我创建了计划修改了对应参数,执行成功了,但是数据库没变化 :'(

堡塔运维南一 发表于 2024-4-11 17:14:38

宝塔用户_xoxxhk 发表于 2024-4-11 13:52
我创建了计划修改了对应参数,执行成功了,但是数据库没变化

那就找一下其他办法吧,我这个也只是参考
页: [1]
查看完整版本: 【已完成】Mysql 命令行运行