Mysql 系数据库备份

使用 mysqldump 备份

1
2
3
4
5
6
# 备份全部数据库
mysqldump -uroot --all-databases > databases.sql

# 备份指定数据库
mysqldump -uroot databaseName > databaseName.sql

导入 sql 数据

1
2
3
4
5
6
# 导入
mysql -uroot < database.sql
# 或者
# 打开 mysql 客户端,使用 source 导入
mysql
source database.sql

Mysql/mariadb 主从数据库简单配置

安装并启动数据库

1
2
3
yum install mariadb-server mariadb -y
systemctl enable mariadb
systemctl start mariadb

master 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vi /etc/my.cnf
# 添加配置,注意 id 不能重复
# log-bin=mysql-bin
# server-id=1
# 配置完成后重启数据库
systemctl restart mariadb

# 进入mysql
mysql -uroot
# 添加slave用户
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '000000';
# 刷新权限
FLUSH PRIVILEGES;

slave 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
vi /etc/my.cnf
# 只需要添加server-id
# server-id=2
# 配置完成后重启数据库
systemctl restart mariadb

# 进入mysql
mysql
# 添加主节点配置
# log_file 和 log_pos 的值在主节点上使用 show master status; 查看
change master to master_host='192.168.0.178',master_user='slave',master_password='000000',master_log_file='mysql-bin.000001' ,master_log_pos=463;

# 启动 slave 节点
start slave;

# 查看主从状态
show slave status\G;
# 如下显示则成功
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes

如果主从节点数据不同步需要手动同步

1
2
3
4
5
# 全局锁库
FLUSH TABLES WITH READ LOCK;

# 解锁
UNLOCK TABLES;

安装与配置docker

系统用的是ubuntu16.04,过程参考官方文档https://docs.docker.com/engine/install/ubuntu/

这里只记录一下坑和小技巧

别换源

先使用系统自带源,别着急换国内源

之前安装docker换源后执行到下面的命令会报错,提示找不到docker的安装包

1
sudo apt-get install docker-ce docker-ce-cli containerd.io

这里我的解决方法是

开tsocks,使用官方源来安装docker

修改docker仓库源

安装完成后直接奔着 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 阿里的镜像去,感觉比其他的仓库源好用

有用的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#查看运行的容器
docker ps

#退出并在后台运行
Ctrl + P + Q

#进入容器
docker attach [CONTAINER ID]

#-v挂载
#譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:
docker run -it -v /test:/soft centos /bin/bash
#冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。

#进入docker交互模式
sudo docker exec -it [CONTAINER ID] /bin/bash

记:winserver2008 的任务计划特性

winserver2008 中任务计划程序运行程序时,程序的运行路径不是指定的路径下,而是 c:\Windows\system32\下

解决办法

  1. 文件放到 system32 中执行。

  2. 写一个 bat 将计划中操作指向 bat 文件,bat 文件先 cd 再执行程序。