📖
M1 Macでmysqlのconfigを発掘。無事OUT FILEできるようになる
環境
- M1 Macbook pro
- Big Sur version 11.1
Homebrewの場所
Rosettaでターミナル開くように設定したりしていません。なんか結構深いところまでいじりに行った気がするので多分ちゃんとarm版が入ってます
まとめてくれている方がおられたので共有しますね
本題
何も設定いじっていないmysqlでテーブルからCSVファイル作ろうとしたら、こんなエラーが出ました
mysql> select * from actor into outfile '~/db/csv/actor.csv' fields terminated by ',' optionally enclosed by '"';
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
検索すると、configファイルのmy.cnfを弄れと出てきました。はいはいやりますよってなりますが、
% find /usr/local/Cellar/mysql -name "my*.cnf"
find: /usr/local/Cellar/mysql: No such file or directory
はい、私が確認する限り、Cellarはlocalにはありませんでした。brew install
したし、その下にあるだろ、とls
した結果、ありました
/opt/homebrew/Cellar
bdw-gc emacs gnutls jansson libevent libtasn1 m4 nghttp2 openssl@1.1 protobuf
c-ares gettext guile jemalloc libffi libtool mysql node p11-kit readline
cask gmp icu4c libev libidn2 libunistring nettle nodebrew pkg-config unbound
my.cnfも見つかりました
% find /opt/homebrew/Cellar/mysql/8.0.23_1 -name "my*.cnf"
/opt/homebrew/Cellar/mysql/8.0.23_1/.bottle/etc/my.cnf
cnfファイルの編集
/opt/homebrew/etc/my.cnf
にコピーしてきて
cp /opt/homebrew/Cellar/mysql/8.0.23_1/.bottle/etc/my.cnf /opt/homebrew/etc/my.cnf
secure_prev設定を追記(空欄が未設定になる)
secure-file-priv = ""
確認
ちゃんとOUT FILEできるようになりました
mysql> select * from actor_info into outfile '~/db/csv/actor_info.csv' fields terminated by ',' optionally enclosed by '"';
Query OK, 200 rows affected (0.19 sec)
Discussion