可以在配置文件里指定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为:
use test;
begin;
create table if not exists t123(id int);
insert into t123 values(1);
insert into t123 values(2);
select * from t123;
-- drop table t123;
end;
启动完mysql以后,得到查询:
mysql> use test;
Database changed
mysql> select * from t123;
+------+
| id |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.00 sec)
第二次启动以后,得到结果:
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 2
Server version: 5.5.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the current input statement.
mysql> use test;
Database changed
mysql> select * from t123;
+------+
| id |
+------+
| 1 |
| 2 |
| 1 |
| 2 |
+------+
4 rows in set (0.00 sec)