環境
windows7
VirtualBox+vagrant+puttyで仮想環境構築操作
MySQLでCSVファイルをインポートしようとしたら以下のエラーが出ます。
select * into outfile 'c:/mysql-sample-data/out.csv' fields terminated by ',' from tb1;
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
secure-file-privが原因でMySQL5.7.6以降だと空?らしいのですが、原因究明と解決方法がわかりません。
mysqlのバージョンなど
mysql> select @@global.secure_file_priv; -------------- select @@global.secure_file_priv -------------- +---------------------------+ | @@global.secure_file_priv | +---------------------------+ | /var/lib/mysql-files/ | +---------------------------+ 1 row in set (0.00 sec)
[vagrant@localhost ~]$ mysql -v Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.6.36 MySQL Community Server (GPL) Copyright (c) 2000, 2017, 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. Reading history-file /home/vagrant/.mysql_history Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
やったこと
↑のサイトに書いてあった、
–tabオプションを使った
mysqldump -uroot -p --tab=/var/lib/mysql-files/ myapp
試したのですが、
[vagrant@localhost ~]$ mysqldump -uroot -p --tab=/var/lib/mysql-files/ myapp Enter password: mysqldump: Can't create/write to file '/var/lib/mysql-files/ima.sql' (Errcode: 13 - Permission denied) mysqldump: Can't create/write to file '/var/lib/mysql-files/ima.sql' (Errcode: 13 - Permission denied)
書き込みができず、拒否されます。
また
リンク内容
↑のサイトに書いてあった、
mysql> SELECT @@global.secure_file_priv; +---------------------------+ | @@global.secure_file_priv | +---------------------------+ | | +---------------------------+ 1 row in set (0.00 sec)
上の部分を空にすると書き込みできるらしいのですが、
my.iniはC:\ProgramData\MySQL\MySQL Server 5.7/my.ini にあったので、C:\Users\user\etc\my.ini に移動して最後に
[mysqld] secure-file-priv = ""
を記述しました、そのあとMySQLの再起動をするのですが、mysql.server restartが
mysql> mysql.server restart -> ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql.server restart' at line 1
間違ってると思うのですが、localhostからやってもエラーが出ます。
[vagrant@localhost ~]$ mysql> mysql.server restart ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'restart' [vagrant@localhost ~]$ -> ; -bash: 期待してない token `;' のあたりにシンタックスエラー [vagrant@localhost ~]$ ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql.server restart' at line 1 -bash: 期待してない token `(' のあたりにシンタックスエラー [vagrant@localhost ~]$
正直よくわりません。
CSVファイルを使ったMySQLの学習をしたいのでが、どうもこの状況は自分ひとりでは解決できないので、MySQLやデータベースの諸先輩方々の知恵をお貸しください。
足りない情報があったら、追加します。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/08 05:58
2017/08/08 06:09 編集