设定的参数
数据库服务器的参数
数据库服务器IP地址,设置名称为database_server_ip,值例如192.168.0.2。数据库服务器用户,设置名称为database_server_username,值例如root。
数据库服务器用户对应的密码,设置名称为database_server_password,值例如pass。
数据库服务器用户的文件夹,设置名称为database_server_userhome,值例如/root。
数据库的用户名,设置名称为database_username,值例如dbuser。
数据库的用户对应的密码,设置名称为database_password,值例如dbpass。
数据库的名称,设置名称为database_name,值例如dbname。
Web服务器的参数
Web服务器的IP地址,设置名称为web_server_ip,值例如192.168.0.1。本地Windows的参数
WinSCP软件的安装文件夹,设置名称为winscp_path,值例如C:/Program Files/WinSCP。MySQL的安装文件夹,设置名称为mysql_path,值例如C:/mysql。
7-Zip软件的安装文件夹,设置名称为sevenzip_path,值例如C:/Program Files/7-Zip。
本地MySQL数据库的root帐户密码,设置名称为local_database_root_password,值例如localroot。
本地MySQL数据库需要新建的帐户名称,设置名称为local_database_username,值例如localuser。
本地MySQL数据库需要新建的帐户密码,设置名称为local_database_password,值例如localpass。
本地MySQL数据库需要新建的数据库的名称,设置名称为local_database_name,值例如localname。
用Excel公式生成的脚本
在数据库服务器上使用root帐户运行的脚本
在数据库服务器上创建用户
公式为:="CREATE USER '"&database_username&"'@'"&web_server_ip&"' IDENTIFIED BY '"&database_password&"';"使用上面的值得到的脚本为:
CREATE USER 'dbuser'@'192.168.0.1' IDENTIFIED BY 'dbpass';
在数据库服务器上创建数据库
公式为:="CREATE DATABASE `"&database_name&"` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;"使用上面的值得到的脚本为:
CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
向创建的用户授予数据库的访问权限
公式为:="GRANT ALL PRIVILEGES ON `"&database_name&"` . * TO '"&database_username&"'@'"&web_server_ip&"';"使用上面的值得到的脚本为:
GRANT ALL PRIVILEGES ON `dbname` . * TO 'dbuser'@'192.168.0.1';
在数据库服务器上用终端运行的脚本
导出数据库
公式为:="mysqldump -u"&database_username&" -p"&database_password&" "&database_name&" | bzip2 -c > "&database_server_userhome&"/"&database_name&".sql.bzip2;"使用上面的值得到的脚本为:
mysqldump -udbuser -pdbpass dbname | bzip2 -c > /root/dbname.sql.bzip2;
在Windows上运行的脚本
下载
公式为:=char(34)&winscp_path&"/Winscp.com"&char(34)&" "&database_server_username&":"&database_server_password&"@"&database_server_ip&" /command "&char(34)&"get "&database_server_userhome&"/"&database_name&".sql.bzip2"&char(34)&" "&char(34)&"rm "&database_server_userhome&"/"&database_name&".sql.bzip2"&char(34)&char(34)&" "&char(34)&"exit"&char(34)使用上面的值得到的脚本为:
"C:/Program Files/WinSCP/Winscp.com" root:pass@192.168.0.2 /command "get /root/dbname.sql.bzip2" "rm /root/dbname.sql.bzip2"" "exit"
创建本地数据库
公式为:="echo CREATE DATABASE `"&local_database_name&"` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_bin; | "&mysql_path&"/bin/mysql.exe -uroot -p"&local_database_root_password使用上面的值得到的脚本为:
echo CREATE DATABASE `localname` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_bin; | C:/mysql/bin/mysql.exe -uroot -plocalroot
创建本地数据库的用户
公式为:="echo CREATE USER '"&local_database_username&"'@'localhost' IDENTIFIED BY '"&local_database_password&"'; | "&mysql_path&"/bin/mysql.exe -uroot -p"&local_database_root_password使用上面的值得到的脚本为:
echo CREATE USER 'localuser'@'localhost' IDENTIFIED BY 'localpass'; | C:/mysql/bin/mysql.exe -uroot -plocalroot
向创建的用户授予本地数据库的访问权限
公式为:="echo GRANT ALL PRIVILEGES ON `"&local_database_name&"` . * TO '"&local_database_username&"'@'localhost'; | "&mysql_path&"/bin/mysql.exe -uroot -p"&local_database_root_password使用上面的值得到的脚本为:
echo GRANT ALL PRIVILEGES ON `localname` . * TO 'localuser'@'localhost'; | C:/mysql/bin/mysql.exe -uroot -plocalroot
解压缩SQL脚本
公式为:=char(34)&sevenzip_path&"/7z.exe"&char(34)&" e "&database_name&".sql.bzip2"使用上面的值得到的脚本为:
"C:/Program Files/7-Zip/7z.exe" e dbname.sql.bzip2
导入SQL脚本到本地的数据库中
公式为:=mysql_path&"/bin/mysql.exe -u"&local_database_username&" -p"&local_database_password&" "&local_database_name&" < "&database_name&".sql"使用上面的值得到的脚本为:
C:/mysql/bin/mysql.exe -ulocaluser -plocalpass localname < dbname.sql
删除SQL脚本
公式为:="del "&database_name&".sql"使用上面的值得到的脚本为:
del dbname.sql