1:备份
执行命令方案1:
/usr/local/mysql/bin/mysqldump -uX -pX -h 127.0.0.1 --set-gtid-purged=OFF --skip-extended-insert --add-drop-table --add-locks --create-options --disable-keys --lock-tables --quick --set-charset -e --max_allowed_packet=16777216 --net_buffer_length=16384 --databases dbname > '202301.sql'
这段命令是用来备份 MySQL 数据库中的 dmsdev1
数据库,并将备份结果输出到 202301.sql
文件中。
具体来说,该命令的各个参数含义如下:
-
/usr/local/mysql/bin/mysqldump
: 应用程序 mysqldump 的绝对路径 -
-u
X: MySQL 用户名为 X -
-p
X: MySQL 密码为 X -
-h 127.0.0.1
: 连接 MySQL 服务器的 IP 地址 -
--set-gtid-purged=OFF
: 生成的备份文件中不包含 GTID 信息 -
--skip-extended-insert
: 每行记录使用 INSERT 操作,而不是一次性插入多行记录 -
--add-drop-table
: 在每个创建的表语句前加上 DROP TABLE -
--add-locks
: 在每个 INSERT 语句中添加一个 LOCK TABLES 语句 -
--create-options
: 在 CREATE TABLE 语句中添加所有的 CREATE 选项 -
--disable-keys
: 在导入数据时,禁用索引 -
--lock-tables
: 在备份每个数据表时,执行 LOCK TABLES 操作 -
--quick
: 在 SELECT 查询时,一次读取结果集的所有行,以便尽快释放表锁 -
--set-charset
: 设置字符集 -
-e
: 生成 SQL 脚本 -
--max_allowed_packet=16777216
: 最大的网络数据包大小为 16M -
--net_buffer_length=16384
: 发送给客户端的每个网络数据包大小为 16384 bytes -
--database dmsdev1
: 需要备份的数据库名为 dmsdev1 -
> '202301.sql'
: 将备份结果输出到202301.sql
文件中。2
2:还原
方案1:pv -PETab 202301.sql | /usr/local/soft/3306/bin/mysql -uroot -p -h 127.0.0.1 --port=3306
这个命令的话,要么是在sql所在目录下执行,或者是觉得路径
方案2:
登录到客户端:
/usr/local/soft/3306/bin/mysql -uroot -p -h 127.0.0.1 --port=3306
然后执行绝对路径下的sql:source /usr/202301.sql
如果没有pv命令的话执行下面两个:
sudo yum install epel-release
sudo yum install pv