作者:woshishuia小姐 | 来源:互联网 | 2014-06-09 00:50
mysql启动时的初始执行文件的使用可以在配置文件里指定mysql启动以后初始执行的SQL文件,其语法是:在[mysqld]或者[server]下指定:www.2cto.cominit-fileD:\mysql-5.5.28-winx64\abc.sql,后边为具体的...Syn
可以在配置文件里指定mysql启动以后初始执行的SQL文件, 其语法是:
在[mysqld]或者[server]下指定: www.2cto.com
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以后,得到查询:
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)