sql >> データベース >  >> RDS >> Mysql

MySQLエラー1290(HY000)--secure-file-privオプション

    Ubuntu 16.04(EASY):書き込みが許可されている場所を確認する

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

    次に、そこに書いてください

    mysql> SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';
    Query OK, 992931 rows affected (1.65 sec)
    
    mysql>
    

    Mac OSX:MAMP経由でインストールされたMysql

    書き込みが許可されている場所を確認する

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

    NULLは、失敗したことを意味するため、ファイル「〜/.my.cnf」を作成する必要があります

    MAMP経由でインストールされたMySQLの読み取り/書き込みを有効にする(Macの場合):

    1. 「MAMP」を開いてスポットライトを使用
    2. [サーバーの停止]をクリックします
    3. 〜/ .my.cnfを編集し(viまたはお気に入りのエディターを使用)、次の行を追加します:

      $ vi〜/ .my.cnf

    [mysqld_safe]
    [mysqld]
    secure_file_priv="/Users/russian_spy/"
    
    1. (MAMPウィンドウで)[サーバーの起動]をクリックします

    機能するかどうかを確認します:

    a。 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>
    


    1. MySQLでVALUESステートメントを使用する場合の「エラー3942(HY000):VALUES句の各行には少なくとも1つの列が必要」を修正

    2. 式を使用してデータベースのデータをフィルタリングする

    3. PostgreSQLのLISTAGG(Oracleデータベース)に相当するものは何ですか?

    4. SQL Server(T-SQL)でのCURRENT_TIMESTAMPの例