shell脚本mysql数据库
‘壹’ linux shell脚本执行mysql mysql数据库在远程服务器上
方法一、适合所有格式的mysql数据库,通过对数据库导出导进写个脚本定时执行:
1.导出整个数据库 mysqlmp -u 用户名 -p 数据库名 > 导出的文件名 mysqlmp -u wcnc -p smgp_apps_wcnc > /存放路径/wcnc.sql
2.导出一个表 mysqlmp -u 用户名 -p 数据库名 表名> 导出的文件名 mysqlmp -u wcnc -p smgp_apps_wcnc users> /存放路径/wcnc_users.sql
3.导出一个数据库结构 mysqlmp -u wcnc -p -d --add-drop-table smgp_apps_wcnc >/存放路径/wcnc_db.sql
定义:
-d 没有数据
--add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库 常用source 命令 进入mysql数据库控制台:
如mysql -u root -p mysql>use 数据库
方法二、针对mysql数据表格式为MyISAM的
假如数据文件在/var/lib/mysql
那么直接写个脚本
cp -r /var/lib/mysql /备份到的文件夹路径
隔机备份用rsync增量,或定时完整备份。
‘贰’ 如何使用shell脚本每天自动备份mysql数据库
mysql备份用自带的备份工具mysqlmp
每天自动执行用cron工具,把mysql的备份命令放在.sh文件里面
.sh文件放在/etc/cron.daily目录,就会每天自动执行了。
‘叁’ MySQL 8自动备份脚本密码安全警告
MySQL 8自动备份脚本密码安全警告的解决方法如下:
问题原因:
- 在Shell脚本中直接使用mysqlmp命令并附带p选项来指定密码,这触发了MySQL 8的安全保护机制。MySQL 8不建议在命令行中直接显示密码,因为这可能导致密码泄露。
解决方法:
- 修改MySQL配置文件:在MySQL的配置文件/etc/my.cnf中,添加或更新与密码相关的配置。通常,可以添加[client]部分,并在其中设置user和password选项。
- 示例配置:ini[client]user=your_mysql_usernamepassword=your_mysql_password # 注意:这里只是示例,不建议在生产环境中明文存储密码 更新脚本:在Shell脚本中,去掉mysqlmp命令后的p选项和密码值。由于已经在配置文件中设置了用户名和密码,mysqlmp将自动读取这些配置。3. 重新执行脚本: 保存对脚本和配置文件的修改后,重新执行备份脚本。此时,MySQL将不再显示密码安全警告,因为脚本不再在命令行中直接指定密码。4. 额外安全措施: 权限控制:确保只有授权用户才能访问包含数据库密码的配置文件和Shell脚本。 日志审计:启用并定期检查数据库和操作系统的日志,以检测任何潜在的安全事件。 定期更换密码:定期更换数据库密码,以减少密码泄露的风险。通过以上步骤,可以有效解决MySQL 8自动备份脚本中的密码安全警告问题,并确保备份过程的安全性和可靠性。
‘肆’ 如何使用crontab每天自动备份Mysql数据库
本经验讲解如何在linux服务器环境下使用crontab来定时执行shell脚本,主要采用的是数据库自带的命令mysqlmp;本文使用的是root权限,仅供参考,真实情况可以自行控制权限,下面请看具体步骤:
http://jingyan..com/article/11c17a2c796354f446e39ded.html