日期:2014-05-16  浏览次数:20656 次

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

可以在配置文件里指定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)