この結果がNULLだと上記エラーが出るようです。 対応としては、my.cnfに secure-file-priv="" の一行を追加してMySQLを再起動します。 my.cnfの場所がわからない mysql --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
MySQL/MariaDBでINTO OUTFILEで/tmpにファイル出力で ERROR 1086 (HY000): File already exists エラー 検索: PHPサンプルコード MariaDB(Mysql)サンプル Webで3Dコンテンツ Q&A集 Delphi 初めてのAndroid Studio 初めてのFlutter+Dart プロフィール サイトマップ ホーム Q&A集 Linux~設定 MySQL/MariaDBでINTO OUTFILEで/tmpにファイル出力で ERROR 1086 (HY000): File already exists エラー 「MySQL/MariaDBでINTO OUTFILEで/tmpにファイル出力で ERROR 1086 (HY000): File already exists エラー」 LinuxのMySQL/MariaDBで
はじめに 新人研修にてLaravelを使っている時のお話です。 テーブル設計を行う時にデータ型とサイズを決めなければなりませんでした。 その時に、例えば、INTの(X)のXは何を表しているのか正確に理解していなかったので、この機会に使用頻度の高いCHAR型やVARCHAR型などの文字列を格納するデータ型も含め、調べたいと思いました。 この記事を読み終えたあなたが適切にデータ型やサイズを決めることができることをこの記事の目標にしたいと思います。 ちなみにQiita初投稿です(なんか緊張する...)。 検証環境 macOS Catalina ver 10.15.7 Docker ver 20.10.5 docker-compose ver 1.29.0 Laravel ver 7.30.4 MySQL ver 8.20.3 内容 「ユニコード(Unicode)とは」 その前に、まず「文字コード
画像データを扱うとき、パス情報だけを MySQL に格納し、画像データ自体はファイルシステムや AWS S3 などに直接置くのが一般的です。なぜなら画像データは巨大で MySQL で扱うのには重いからです。かつてはコンピュータのリソースが貧弱でしたのでこの設計は適切だったと思うのですが、近年コンピュータは圧倒的に高性能になりました。もしかしたら現代のコンピュータなら画像データを MySQL で扱うことも出来るかもしれないと思い試してみました。 なぜ MySQL で画像データを扱いたいかというと、ひとえに ACID 特性のためです。画像データ処理もトランザクションに含めてしまうことができれば、画像データを含めて不整合のないデータを実現できます。迷子の画像データのことを考えなくて済むわけです。バックアップだって、DB ダンプ一発で全部まとめて取れるわけですし。 スキーマ定義とテストデータ こん
mysqlはapacheと違ってconfigtestみたいな物がないので なので mysql --helpというオプションでチェックするみたいです www.percona.com だた中々、エラーがおきない エラーのケース test=test [mysqld] datadir=/var/lib/mysqlエラーにならないのケース [mysqld] test=test datadir=/var/lib/mysqlワケガワカラナイヨ!! 値とか、存在しないフォルダやdatadir=/etc/var/lib/mysqlを設定してもエラーにならない 設定ファイルを指定する場合は defaults-file=のプションをつける エラーになった時は以下のような文字列が出力される mysql --defaults-file=/tmp/my.cnf --verbose --help error: Foun
The suffix can be upper or lower-case. List of Server System Variables allow_suspicious_udfs Description: Allows use of user-defined functions consisting of only one symbol x() without corresponding x_init() or x_deinit(). That also means that one can load any function from any library, for example exit() from libc.so. Not recommended unless you require old UDFs with one symbol that cannot be reco
やってみた MySQLの照合順序、UTF-8の日本語で使える照合順序はいくつかあるけど、 実際にどんなマッチの仕方をするのかわからなかったので、ちょっとやってみた。 ちなみに、MySQLのUTF-8で日本語を扱う場合に使用可能な照合順序はしたの3つ。 utf8_bin utf8_general_ci utf8_unicode_ci 確認したかったのは、半角・全角、小文字・大文字がどんな感じでマッチするのかという事。 ながーいので、結果を utf8_bin キャラクターコードが完全に一致するもののみマッチする。 utf8_general_ci アルファベットの大文字・小文字は区別せずにマッチする。 ただし、区別しない文字は、半角は半角の大文字・小文字、全角は全角の大文字・小文字のみ。 半角小文字と全角小文字同士はマッチしない。 utf8_unicode_ci 下記がマッチする。 アルファベッ
バイナリ互換性がないMySQLバージョン間(5.6→8.0)のDB移行が必要となり、DBを停止して、mysqldumpによるデータ移行を計画しました。その際にDBのダウンタイムをなるべく短くするため、インポートにかかる時間をパラメータチューニングによって短くできないか検証しました。 注意点 本記事の内容は、筆者の個人的な見解や認識に基づいて作成しているため、正確性、信頼性、完全性、最新性を保証するものではありません。 本記事は、2023/04/25 時点の情報をもとに作成しております。 最新の情報については、他の情報源と照らし合わせてご確認ください。 今回紹介するパラメータはインポート時に一時的に設定するパラメータと仮定しており、運用時は適さないパラメータもあります。 インポートが完了したら運用に適したパラメータへの変更をお願いします。 前提条件 インポートするデータ スキーマ毎にmysq
CSVファイルからDB(MySQL)にインポートする機能はよくあるし、情報もゴロゴロとある。前回の記事では大量のデータをCSVファイルとして素早く書き込む方法を書いたが、今回はその逆と言っても良い。 ただ、CSV→DBは色々な制約を受けるので最も早く確実なただ一つの答えがあるわけではなさそう。今回紹介するのはサーバーのupload_max_filesizeや利用可能メモリについては度外視している。 CSVのMySQLインポートの手段 先に方法を列挙すると以下のようになる。 1レコードずつインサート(激遅) バルクインサート(速い) バッチでインサート(ちょっと遅い) LOAD DATA LOCAL INFILEインサート(最速) 全てのやり方ができる環境かどうかも考慮に入れる必要がある。 また今回はフレームワークで使用されることを前提としてPHP(Laravel)で検証しているが、Inse
mysql> desc mysql.user; +------------------------+-----------------------------------+------+-----+-----------------------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------------+-----------------------------------+------+-----+-----------------------+-------+ | Host | char(60) | NO | PRI | | | | User | char(32) | NO | PRI | | | | Select_priv | enum('N','Y') | NO | | N |
【MySQL】Table does not support optimize, doing recreate + analyze instead って何? MySQLではテーブル最適化はほとんど必要ないので、この件を気にする人もほとんどいないと思います。 偶然 optimize table したら見かけたのでメモ。 optimize table したら何かエラーっぽいものが出たよ? 日本語版のMySQL5.1のマニュアルには見当たらないが、英語版のマニュアルには説明がある。 For InnoDB tables, OPTIMIZE TABLE is mapped to ALTER TABLE, which rebuilds the table to update index statistics and free unused space in the clustered index. Be
オプションファイルの使用 my.cnfに設定できる値 設定値にはセクション(グループ?)と言われる、 オプションを設定するプログラムまたはグループの名前以下に設定する。 ([mysqld]のように書かれているところのこと) [client] # clientセクション: mysqlクライアントツールへの設定 port=3306 socket=/tmp/mysql.sock [mysqld] # mysqldセクション: mysqlサーバーへの設定 port=3306 socket=/tmp/mysql.sock key_buffer_size=16M max_allowed_packet=8M [mysqldump] # mysqldumpセクション: バックアップコマンドへの設定 quick [mysqld_safe] # mysqld_safeセクション: 起動ファイル設定 log-e
クエリの結果が返ってこなくて困った経験はないでしょうか?ここでは、実行中クエリの確認方法と強制終了させる方法について紹介します。 mysql> show processlist; +-----+------+--------------------+--------------+---------+------+--------------+------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +-----+------+--------------------+--------------+---------+------+--------------+------------------------------------+ | 243 | root
mysql> select count(*) from `information_schema`.`tables` where `table_schema` = 'table'; +----------+ | count(*) | +----------+ | 100 | +----------+ 1 row in set (0.01 sec) mysql> select count(*) from information_schema.columns where table_name = '#{テーブル名}'; +----------+ | count(*) | +----------+ | 158 | +----------+ 1 row in set (0.01 sec)
こんにちは。開発チームのワイルド担当、まんだいです。 今回は、普段何気なく使っている(かも知れない)REPLACE句について、細かい挙動を追いかけてみたいと思います。 データ更新、どうしてますか? 弊社では、システム開発においてMySQLを主なRDBMSとして利用しています。 通常、ユニーク制約があるテーブルへの更新処理の際には SELECTして重複チェックを行った上でINSERTするかUPDATEするか分岐させる INSERTしてみてDuplicateしたら例外をキャッチしてUPDATE処理に回すワイルド更新 の二択を迫られると思いますが、実は(でもなんでもないですが)REPLACE句による更新処理も存在します。 このREPLACE句ですが、単に字面の通り、置き換える(= REPLACE)すると思って実行すると、データの不整合が発生して思わぬ事態を招くやも知れません。 簡単な例で、その挙
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く