1mysql不建议对外开放,远程连接通过ssh中转
#连接工具navicat
打开工具--连接新建--mysql
填写ssh认证信息
之后填写数据库信息
填写完成,可以点击“测试连接”,一切无误,显示如图
#打开刚才新建的连接,右键 选择新建数据库
数据库名字,字符集等选择好,点击 确定
3选择刚创建的数据库,创建几张表,方便学习
右键-test-命令行界面--输入(一般工人信息表)
CREATE TABLE `hpfaceidentify` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`idnum` char(18) CHARACTER SET utf8 DEFAULT NULL,
`name` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
`sex` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`issuingOrgan` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
`address` varchar(64) CHARACTER SET utf8 DEFAULT NULL,
`nationality` varchar(8) CHARACTER SET utf8 DEFAULT NULL,
`birth_date` date DEFAULT NULL,
`indate` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
`phone` varchar(11) CHARACTER SET utf8 DEFAULT NULL,
`entry_date` date DEFAULT NULL,
`createTime` datetime(6) DEFAULT NULL,
`modifyTime` datetime(6) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`photo` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`project_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`team_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`worktype_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`work_role` int(11) DEFAULT NULL,
`card_num` varchar(20) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user_id` (`user_id`),
UNIQUE KEY `identityNum` (`idnum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
#加入测试数据
INSERT INTO `test`.`hpfaceidentify`(`id`, `idnum`, `name`, `sex`, `issuingOrgan`, `address`, `nationality`, `birth_date`, `indate`, `phone`, `entry_date`, `createTime`, `modifyTime`, `user_id`, `photo`, `project_name`, `team_name`, `worktype_name`, `work_role`, `card_num`) VALUES (1, '3714221977080515', '刘', '1', '浙江省衢州', '浙江省玉华县兴山重庆路', '汉', '1971-03-16', '2030-06-09', '131999999', '2024-04-01', NULL, NULL, NULL, NULL, '测试项目1', '钢筋工班组', '020', 3, '1111111111');
2数据库备份
#全量脚本如下mysql.sh
#!/bin/bash
cd /data/bakcup/
DATE=$(date -d "yesterday" "+%Y-%m-%d")
mysqldump -h127.0.0.1 -uroot -p密码 --default-character-set=utf8 --single-transaction --set-gtid-purged=OFF test > test.sql
tar zcvf test_$DATE.tar.gz test.sql
sleep 2
rm -rf test.sql
加入定时任务,每天晚上23:59全量备份
crontab -e
59 23 * * * sh /data/backup/mysql.sh
#增量备份
vim my.cnf
[mysqld]下面增加
log_bin=/data/mysql/logs/mysql-bin
server_id=100
binlog_format=mixed
max_binlog_size = 100M
#其中log-bin参数指定二进制日志的文件名前缀,server-id参数指定MySQL实例的唯一标识
systemctl restart mysql
#查看 日志文件名和位置点
使用 mysqlbinlog 命令执行增量备份,包括 --start-datetime 和 --stop-datetime 参数来指定时间范围,以及 --start-position 参数来指定上次备份结束的二进制日志位置.
mysqlbinlog --no-defaults --start-datetime='2024-04-26 00:00:00' --stop-datetime='2024-04-26 23:59:59' --start-position=2320 mysql-bin.000005 > test_2024-04-26.sql
每天备份增量 ,可以不使用--start-position 直接
mysqlbinlog --no-defaults --start-datetime='2024-04-26 00:00:00' --stop-datetime='2024-04-26 23:59:59' mysql-bin.000005 > test_2024-04-26.sql