MySQL
三畳紀ぶりに WordPress の案件があって触ってます。 20世紀みたいに PHP 環境を local に作るのつらすぎるので docker を使ってい環境構築していたのですが、WordPress のコンテナから mysql コマンドが使えなかったので使えるようにしたメモ Docker WordPr…
docker-compose で作成した MySQL にコンテナ外から mysql コマンドでアクセスしようとしたら Access denied になるにハマったのメモ。※ 本エントリーは経過と事象のメモで詳しく調べてはいません。 環境 Mac OS 11.6 Docker desktop 4.5.0 MySQL 8.0.28 (Ho…
SELECT 全体のレコード数, 条件A の総数, 条件B の総数 FROM テーブル WHERE 条件 GROUP BY カラム こんな感じで特定の条件でグループ化したデータをグルーピングされた中で、さらに条件別に数を出したい。 例えばユーザーの購入レコードがあって、ユーザー…
構成 /-- docker-compose.yaml |- /docker | |- /php | |- /nginx | |- /mysql | |- /data # MySQLのデータの永続化 |- /laravel # Laravel アプリがインストールされるディレクトリ 使い方 https://github.com/KiKiKi-KiKi/docker-laravel からコードをDLし…
Docker 一年生なので、雰囲気で作っています。 構成 /-- docker-compose.yml |- /web | |- /html … web root |- /mysql | |- Dockerfile | |- my.conf | |- /init | |- 1_dd.sql … DB 初期化 |- /nginx | |- nginx.conf | |- /log | |- access.log | |- erro…
Docker の MySQL で build 時にデータベースとテーブルを作ろうとしていたのですが、エラーが発生してコンテナが起動できなくなっていました。 原因を調べてみた結果どうやらテーブル作成でエラーが出ていたのが原因でした。 MySQL v5.7 エラーの発生した CR…
インフラ知識皆無なので Docker は雰囲気で使っています。 構成 / |- docker-compose.yml |- /api |- /frontend | |- Dockerfile |- /mysql | |- /data | |- /init | | |- 1_ddl.sql | |- Dockerfile | |- my.cnf |- /nginx | |- nginx.conf |- /php |- Dock…
バグ踏みの達人です。 PHP から MySQL のデータを更新しようとして珍しいバグを踏んだのでメモ 何故かエラーになる あるテーブルに次のようなコードでデータを入れようとしたらエラーになりました。
こんにちは。ジョニー別府です。イェー! idols, brands, typeという別々のテーブルに入っているデータを基に stage のデータを作りたい! テーブルの構成 idols table: アイドルハニーたちの名前とタイプ +----+-----------------+---------+ | id | name | ty…
テーブル table_a id name typeID 1 星宮いちご 1 2 霧矢あおい 2 3 紫吹蘭 3 4 神崎美月 3 5 星宮いちご 1 6 大空あかり 1 7 藤堂ユリカ 2 8 有栖川おとめ 4 9 星宮いちご 1 10 霧矢あおい 2 このテーブルからnameとtypeIDが重複されているデータを最初の1…
テーブル table_a id name typeID 1 星宮いちご 1 2 霧矢あおい 2 3 紫吹蘭 3 4 大空あかり 1 table_aのtypeIDカラムのデータが重複してるレコードを削除しようとして次のようなSQLを発行しました。 DELETE FROM table_a WHERE typeID IN ( SELECT typeID FR…
MySQL 5.7 以上でGROUP BYしてレコードをまるっと取ってくる方法は分かりました。 複数のカラムをGROUP BYして検索条件にしてレコードを取ってきたいと思います。 テーブル table_a id name typeID 1 星宮いちご 1 2 霧矢あおい 2 3 紫吹蘭 3 4 神崎美月 3 5…
お久しぶりのMySQL。 MySQLで重複してるデータを取ろうとしました。 SELECT * FROM table_a GROUP BY name HAVING COUNT(*) >= 2; Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.table_a.id' which is n…
docker-compose upで立ち上げたアプリで使用してるMySQLにアクセスしたメモ。 尚dockerの事はよくわかってない。 アプリの起動 $ docker-compose up MySQLのホストとポート番号の確認 $ docker ps 現在起動中のコンテナの一覧が出力されるのでmysqlのコンテ…
php.iniを開いてdefault_socketをチェックしよう。WordPressはmysqli.default_socketが設定されてないとデータベース接続確立エラーになるみたい。
`$ mysql_config --socket` で探せる
※ この記事は古いWordPress (v4.1)を触っていて発生した現象なので、新しいWordPress環境では発生しない可能性があります。
別の人が作成した古いWordPressの改修の依頼が来て、環境つくりに時間がかかったのでメモをしておきます。 レンタルサーバーで動いているサイトだったのでPHP + Apache + MySQLという構成です。 要件
1. MySQLのインストール HomebrewでMySQLをインストールする $ brew install mysql $ mysql --version mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew) v8.011がインストールされました。 2. MySQLの環境設定 MySQLの起動 $ mysql.server start rootユ…
WordPressのWP_Queryやpre_get_postsアクション内で投稿を取ってくる時に、一緒にできない複数の条件(複数のSELECT文が必要な条件)で投稿を取得したいような時のメモ。 メインループ外の場合は2回WP_Queryを実行(SQLを発行)してそれぞれ取得したデータの配列…
WordPressのデータベースでは、カスタムフィールドの値は{$pre_fix}postmetaテーブルに登録されます。 postmeta テーブル +------------+---------------------+ | Field | Type | +------------+---------------------+ | meta_id | bigint(20) unsigned | …
MySQLで別々の条件(SELECT文)で取ってきたデータをそれぞれでソートして結合したい。 という事で、2回SQLを発行して取ってきたデータをマージしてしまえば実現できることなのですが、SQL1回で実現できないかと思い調べていて色々とハマったのでメモ。 テーブ…
Macを再起動して普段通りapacheを起動しようとしたら次の様なエラーが表示されるようになってしまいました。先方の環境に合わせてPHP56です $ sudo apachectl start httpd: Syntax error on line 170 of /usr/local/etc/apache2/2.4/httpd.conf: Cannot load…
PHPのPDOで複数のidのデータをまとめて取ってくるとかで WHERE IN を使おうとしてハマったのでメモ。 配列のまま渡しても取得できない。 prepare($sql); $stmt->bindValue(':ids', $ids, PDO::PARAM_INT); $stmt->execute(); $res = $stmt->fetchAll(); var_…
RubyでMySQLとデータのやり取りをしたいと思いました。 gemで探すとライブラリがヒマラヤ程たくさん出ててどれが良いのか良く解りませんでした。。。 こちらの記事を参考に、とりあえずmysql2を使ってみましたのでメモ データを取ってきてループして表示させ…
前もって現在の値を取得しなくても、 UPDATEのSQLのSET節でインクリメントなら カラム名 = カラム名 + 1、デクリメントなら カラム名 = カラム名 - 1という形で記述すれば変更できる。 prepare($sql); // 略 特定のインクリメントに限らず特定の数の足し引き…
HomebrewでMySQLを5.6.26にアップデートしました。 その後でmysqlを起動しようとした所下記のようなエラーが出るようになってしまいました。 $ mysql.server start ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.soc…
PHPのPDOでWHEREの検索条件をnullにしてsqlを発行したいと思い下記のようなSQLを作ってみました。 SELECT * FROM {$TABLE} WHERE {$COLUMN} = null; 残念ながらこれだと上手く取得できませんでした。 nullを検索条件にする時はis nullを使うと良いようです。…
hetemlサーバーにsshでアクセスしてコマンドからmysqlを使いたい時 $ mysql -u <アカウント名> -p ではパスワードが合っていてもエラーになりmysqlを使えません。少し長たらしいですが下記のコマンドでmysqlに繋ぐことが出来ます。 $ mysql -u <アカウント名…