之前一直使用的navicat的自动的备份功能。但是在使用navicat的还原功能时,贼慢。
今天要做的是window服务器上将mysql单个数据库备份。然后还原到我的mac笔记本上。
本来以为很快的,中间遇到来一些小坑,搞了很久。
1. 备份,从window服务器使用mysqldump命令来备份,由于后面还要下载到本地,所以备份同时要进行压缩,不然数据量很大,呆会下载要很久。
D:\tool\mysql\bin\mysqldump.exe -uusername -ppassword dbname --default-character-set=UTF8| gzip >d:\backup\dbname_%date:~0,4%%date:~5,2%%date:~8,2%.gz
上面的gzip命令,需要自己先在服务器安装上gzip的window版本。然后在环境变量中添加bin目录到path路径下。
最后 > 后面是备份到的目录和文件名,文件名根据日期自动命名。这里最好指定导出时的字符集,不然中文会出现乱码情况。
2. 还原 下载到本地,解压缩还原。
mysql -h192.168.0.101 -uusername -p"password" --default-character-set=utf8 -f dbname
这里我在mac上开来一个虚机window,然后链接到mac上的mysql,所以192.168.0.101是我mac的ip地址,同样指定字符集utf8.
3. 安装 mysql安装教程很多,这里说下window下一个最便捷的安装方式。
首先下载那种直接解压缩版本的,下载地址如下,之前我用的大部分是5.5或者5.6版本:
https://dev.mysql.com/downloads/mysql/5.5.html#downloads
解压缩到d:\tool\目录下,文件夹命名为mysql。
然后将以下三个脚本拷贝到目录,即可完成一键安装(双击setup&start.bat),卸载(双击stop&remove.bat)。在其他电脑上安装时,下好包直接拷贝脚本过去即可。
1) 配置文件:my.ini
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.[client][mysql]
default-character-set="utf8"
[mysqld]
character_set_server="utf8" # Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin# These are commonly set, remove the # and set as required.#设置mysql的安装目录
basedir=d:/tool/mysql#设置mysql数据库的存放目录
datadir=d:/tool/mysql/data#绑定IPV4和3306端口
port=3306# server_id = .....#允许最大连接数
max_connections=200# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#default-storage-engine=MYISAM
default-storage-engine=INNODB#定义事务隔离级别
#可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
transaction-isolation = REPEATABLE-READ#临时增加,测试早上是否还存在断开的情况,解决mysql8小时无连接自动关闭的情况
interactive_timeout=28800000
wait_timeout=28800000
2)安装和启动脚本 setup&start.bat
cd d:
cd d:\tool\mysql\bin\
mysqld --install mysql --defaults-file="D:\tool\mysql\my.ini"
net start mysql
pause
3)停止服务和卸载脚本 stop&remove.bat
cd d:
cd d:\tool\mysql\bin\
net stop mysql
mysqld remove
pause