MySQL启动时的初始执行文件的使用


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

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

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

为了示例:

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. 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) 

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

  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) 

当然,我们要注意的是,这个init_file的内容是有要求的:

1. 确保你的mysqld 编译的时候没有加  --disable-grant-options 开关。
2. 确保init-file指定的脚本每行是一个具体的可以执行的语句。

相关内容