2016-12-01 46 views
0

我遇到类似的问题this,因为我不能导出到一个文件,但不是重复的,因为我不问如何解决这个问题,而是找到变量的设置。哪里可以找到mysql启动变量的设置位置?

当我运行'mysqld --verbose --help'时,secure-file-priv只设置为null。它确实如下:

Default options are read from the following files in the given order: 
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 

但是这似乎并不是实际的配置,而是默认值。我安装了自制软件。

我尝试了很多提供的解决方案,但该变量似乎没有改变,然后停止,启动服务器。

我曾尝试:

  1. 加入 '安全文件私法= “”'

    /usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ federated/my.cnf /usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_memcache/my.cnf /usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ ndb_ddl/my.cnf /usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_binlog/my.cnf /usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ ndb_big/my.cnf /usr/local /Cellar/mysql/5.7.16/mysql-test/suite/ndb/my.cnf /usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndbcluster/my.cnf /usr/local /Cellar/mysql/5.7.16/mysql-test/suite/ndb_team/my.cnf /usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_rpl/my.cnf /usr/local /Cellar/mysql/5.7.16/mysql-test/suite/rpl_ndb/my.cnf /usr/local/Cellar/mysql/5.7.16/mysql-test/suite/rpl/my.cnf /usr/local /Cellar/mysql/5.7.16/mysql-test/suite/rpl/extension/bhs/my.cnf /usr/local/Cellar/mysql/5.7.16/mysql-test/include/default_my.cnf

  2. 我已将相同的项目设置为实际位置。仍然显示为NULL。

  3. 我编辑了mysqld.cnf以具有相同的设置。

  4. 我已经编辑com.oracle.oss.mysql.mysqld.plist有,设置(我在Mac上的El Capitain)

我想我的下一个步骤是卸载后重新安装,但宁愿不要。

回答

0

我得到

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

我能够通过开放来解决它在/ usr /本地/ mysql /下支撑文件/ MySQL的错误。服务器和更改以下行:

$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" -- $other_args >/dev/null & 
    wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$? 

$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" --secure-file-priv="" $other_args >/dev/null & 
    wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$? 
0

如果通过MAMP安装MySQL,配置文件仅仅是局部点文件的位置:

~/.my.cnf 

为通过MAMP安装的MySQL(在Mac上)启用文件读/写功能:

  1. 开放 “甲基苯丙胺” 使用聚光灯
  2. 点击 “停止服务器”
  3. 编辑〜/ .my.cnf(使用vi或你喜欢的编辑器),并以下线:

    $ VI〜 /.my.cnf

[mysqld_safe] 
[mysqld] 
secure_file_priv="/Users/russian_spy/" 
  • 点击 “开始服务器”(单位为毫安窗口)
  • 现在,检查是否正常工作:

    一个。启动mysql(默认MAMP用户是root,密码也是root)

    $ /Applications/MAMP/Library/bin/mysql -u root -p 
    

    b。在mysql中查看白名单路径

    mysql> SELECT @@GLOBAL.secure_file_priv; 
    +---------------------------+ 
    | @@GLOBAL.secure_file_priv | 
    +---------------------------+ 
    | /Users/russian_spy/   | 
    +---------------------------+ 
    1 row in set (0.00 sec) 
    

    c。最后,通过将表train导出为CSV文件进行测试

    mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ','; 
    Query OK, 992931 rows affected (1.65 sec) 
    
    mysql> 
    
    相关问题