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

【已完成】Mysql 命令行运行

发表在 Linux面板2024-4-11 12:00  关闭 [复制链接] 6 109

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:不限

系统版本:不限
问题描述:如何批量执行 Mysql 给所有数据库

相关截图(日志、错误):无

我服务有50个数据库,都是wp的

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

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

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

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

现在有没有一个好的办法,在 phpmyadmin 只执行一次 mysql 命令,就可以将 50 个站的数据全部修改掉?
使用道具 举报 只看该作者 回复
发表于 2024-4-11 12:00:58 | 显示全部楼层

你可以使用循环语句来批量修改所有数据库的密码。
使用道具 举报 回复 支持 反对
发表于 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
使用道具 举报 回复 支持 反对
发表于 2024-4-11 13:35:44 | 显示全部楼层
运维技术南一 发表于 2024-4-11 12:21
您好,可以参考下面脚本,如果还是无法解决,请您到网上去查找一下解决办法
#!/bin/bash  
  

这个是直接在左侧计划里执行吗?
使用道具 举报 回复 支持 反对
发表于 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
我创建了计划修改了对应参数,执行成功了,但是数据库没变化

那就找一下其他办法吧,我这个也只是参考
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

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

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

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

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

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表