Windows通过计划任务定时执行bat文件进行SQL备份见文末;
以下是基本命令操作
链接MySQL
进行本地mysql登录
mysql -u root -p123456 --default-character-set=utf8
设定特定的IP地址以及用户名称,密码,编码格式进行登录
mysql -u root -h 192.168.xx.xx -proot --default-character-set=utf8
选择数据库,这里是切换到数据库名为abc的数据库
mysql>use abc;
设置数据库编码-----这一步也可省略,导出的sql文件中,也可能带有数据库编码格式~~~
mysql>set names utf8;
用source命令导入
导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
创建用户,并赋予权限
选择数据库,这里是切换到数据库名为mysql的数据库
mysql> use mysql
Database changed
创建用户,以及赋予权限,使权限生效
create user database_name@'localhost' identified by 'database_name';
grant all privileges on *.* to database_name@'localhost' with grant option;
flush privileges;
database
修改远程链接
update user set host = ’%’ where user = ’root’;
mysqldump进行数据导入
数据导入
mysqldump -P 3306 -h 192.168.3.118 -u root -p database_name>d:\test.sql
mysqldump -u root -p database_name>d:\database_name.sql
mysqldump -P 3306 -h 192.168.3.118 -uroot -p --default-character-set=utf8 database_name > d:\database_name.sql
mysqldump -P 3306 -h 192.168.3.118 -uroot -p --default-character-set=utf8 database > D:\dump-database_name-202203202154.sql
mysqldump进行数据导出
mysqldump -h181.16.126.12 -P3326 -pdatabase_name -pdatabase_name database_name > test.sql
mysqldump -h181.16.126.51 -P3336 -udatabase_name -pdatabase_name database_name>0628.sql
测试适合windows系统64位操作系统,以及适合mysql8.0版本
定时导出数据脚本
@echo 开始备份数据库。
set "ymd=%date:~,4%%date:~5,2%%date:~8,2%"
@备份数据库目录
set "bak_path=D:\data_xxxx"
@数据库安装目录
set "mysql_dump_path=D:\xxxxx\mysql-winx64\bin"
@数据库账号
set "dbuser=xxxxxx"
@数据库密码
set "dbpwd=xxxxxx"
@数据库IP地址
set "dbip=xxx.xxx.xx.xxx"
@数据库端口
set "dbport=xxxx"
@备份保存时间,单位: 天
set "dateoutday=x"
@备份数据库名称,如果是all则是所有的数据
set "dbname=all"
if "%dbname%" == "all" (
@连接数据库及要备份的库u账号、p密码、h账号IP
"%mysql_dump_path%"\mysqldump -u%dbuser% -p%dbpwd% -h%dbip% -P%dbport% --all-databases --set-gtid-purged=OFF --triggers --routines --events > %bak_path%\qkbf_bak%ymd%.sql
)else (
echo "++++++++++++++++++++++"%dbname%"+++++++++++++++++++++++"
@连接数据库及要备份的库u账号、p密码、h账号IP
"%mysql_dump_path%"\mysqldump -u%dbuser% -p%dbpwd% -h%dbip% -P%dbport% --databases %dbname% unitecode > %bak_path%\%dbname%_bak%ymd%.sql
)
@echo 删除3天前备份的文件。
forfiles /p "%bak_path%" /s /m *.sql /d -%dateoutday% /c "cmd /c del @path"
@echo 数据库备份完成,3秒后程序退出
windows系统进行设置定时器,定时执行bat脚本操作:
控制面板 ----> 系统安全 ----> 管理工具 -----> 任务计划程序
创建基本任务
书写任务任务名称
设定每天执行
设定第一次开始时间
选择启动程序的脚本,也就是bat脚本
点击完成,也就是每日会运行这个脚本进行数据保存