关键词搜索

源码搜索 ×
×

用Excel公式批量生成MySQL数据库维护用的相关脚本

发布2008-08-08浏览2279次

详情内容

设定的参数

数据库服务器的参数

数据库服务器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

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载