Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1198359
  • 博文数量: 185
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 3934
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-11 13:11
个人简介

iihero@ChinaUnix, ehero.[iihero] 数据库技术的痴迷爱好者. 您可以通过iihero AT qq.com联系到我 以下是我的三本图书: Sybase ASE in Action, Oracle Spatial及OCI高级编程, Java2网络协议内幕

文章分类

全部博文(185)

文章存档

2014年(4)

2013年(181)

分类: Mysql/postgreSQL

2013-07-26 10:51:28

可以在配置文件里指定mysql启动以后初始执行的SQL文件, 其语法是:

在[mysqld]或者[server]下指定:

init-file=D:\mysql-5.5.28-winx64\abc.sql,   后边为具体的sql文件值

注意下边两点就行了:

1. 确保你的mysqld 编译的时候没有加  --disable-grant-options 开关。

2. 确保init-file指定的脚本每行是一个具体的可以执行的语句。


为了示例:

abc.sql为:


  1. use test;  
  2. begin;  
  3. create table if not exists t123(id int);  
  4. insert into t123 values(1);  
  5. insert into t123 values(2);  
  6. select * from t123;  
  7. -- drop table t123;  
  8. end;  

启动完mysql以后,得到查询:



  1. name="code" class="sql">mysql> use test;  
  2. Database changed  
  3. mysql> select * from t123;  
  4. +------+  
  5. | id   |  
  6. +------+  
  7. |    1 |  
  8. |    2 |  
  9. +------+  
  10. rows in set (0.00 sec)  

  11.   

第二次启动以后,得到结果:



  1. Welcome to the MySQL monitor.  Commands end with ; or \g.  
  2. Your MySQL connection id is 2  
  3. Server version: 5.5.28 MySQL Community Server (GPL)  
  4.   
  5. Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.  
  6.   
  7. Oracle is a registered trademark of Oracle Corporation and/or its  
  8. affiliates. Other names may be trademarks of their respective  
  9. owners.  
  10.   
  11. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  
  12.   
  13. mysql> use test;  
  14. Database changed  
  15. mysql> select * from t123;  
  16. +------+  
  17. | id   |  
  18. +------+  
  19. |    1 |  
  20. |    2 |  
  21. |    1 |  
  22. |    2 |  
  23. +------+  
  24. rows in set (0.00 sec)  

阅读(1972) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~