Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ローカルの開発環境で動いているはずのMySQLにmysqlコマンドで接続しようとして、 Can't connect to local MySQL server through socket と言われたとき。 $ mysql -u root -p -h localhost -P 13306 DBNAME Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) MySQLが動いてなかったり、あるはずのソケットファイルがなんらかの理由で見つからない場合にこのエラーになります。 Dockerコンテナで動かしているMySQLにホスト側からmysqlコマンドで接続しようとしている場合にもこのエラーになることがあります。
このDB情報等を反映すると、下記のように書くことになる。 --add-drop-database がポイントだ。 mysqldump -u pudding -pqwerty123456 --add-drop-database --all-databases > alldatabases.sql ダンプファイルの内容 上記コマンドを実行した際のダンプファイルの記述は以下の通り。抜粋である。 -- -- Current Database: `zipcode` -- /*!40000 DROP DATABASE IF EXISTS `zipcode`*/; CREATE DATABASE /*!32312 IF NOT EXISTS*/ `zipcode` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `zipcode`; ちなみに、 --add-d
-e を使う。 mysql -u root TABLENAME -e'select id from user where id=1' +----+ | id | +----+ | 1 | +----+ カラム名を表示したくない時、-N を使う。 mysql -u root TABLENAME -N -e'select id from user where id=1' +---+ | 1 | +---+値だけ欲しい時、 -B(と-N)を使う。 ※-B はタブ区切りで出力 mysql -u root TABLENAME -N -B -e'select id from user where id=1' 1複数カラム指定すると、 mysql -u root TABLENAME -N -B -e'select id, created_at from user where id=1' 1 2012-1
データ調査でSQLの出力内容をスプレッドシートに貼りつけるとき、NULLが入ると邪魔なので。 mysqlでやったことなかったので調べた。ifnullだった。 mysql> select ifnull(null, 'yes'); +---------------------+ | ifnull(null, 'yes') | +---------------------+ | yes | +---------------------+ 1 row in set (0.00 sec) nullifなんてのもある nullifは渡された値がequalだとNULLになる mysql> select nullif('yes', 'yes'); +----------------------+ | nullif('yes', 'yes') | +----------------------+ | NUL
“生産地”列と”販売地”列でそれぞれ同じ”都道府県名テーブル”を参照する必要がある。 しかし、下記のように普通に結合する時の書き方をすると、生産地の都道府県と販売地の都道府県の区別ができず、 #1066 - Not unique table/alias :'都道府県' (生産地IDと結合した都道府県テーブルと、販売地IDと結合した都道府県テーブル、どっちを参照したらよいかわからないよエラー)になってしまう。 // × うまくいかない SELECT 商品テーブル.商品名, 都道府県テーブル.都道府県名, 都道府県テーブル.都道府県名 FROM 商品テーブル LEFT JOIN 都道府県テーブル ON 商品テーブル.生産地ID = 都道府県テーブル.都道府県ID LEFT JOIN 都道府県テーブル ON 商品テーブル.販売地ID = 都道府県テーブル.都道府県ID 解決策複数回参照するテーブ
I've a MySQL 5.0.84 running in a Slackware 13.0 Staging server and wanted to copy a single table to another server which was built to use Ubuntu 14.04 OS for some other testing. I've taken a mysqldump of that table and copied to the testing server. I get the following error when I try to restore the dump file. ERROR 1231 (42000):Variable 'character_set_client' can't be set to the value of 'NULL' P
本番データの一部を書き戻す必要があり、巨大なダンプデータから必要なテーブルのデータだけを抽出する必要があったのでメモ。 cat <ダンプファイル> | sed -n '/DROP TABLE IF EXISTS `<対象テーブル名>`/,/Table structure for table `<対象テーブルの次のテーブル名>`/p' > ~/<対象テーブル名>.sql ※ダンプデータがgzip圧縮されている場合 zcat <ダンプファイル> | sed -n '/DROP TABLE IF EXISTS `<対象テーブル名>`/,/Table structure for table `<対象テーブルの次のテーブル名>`/p' > ~/<対象テーブル名>.sql 例 chatsテーブルの書き戻し [ダンプデータ内でchatsテーブル、diariesテーブルの順に並んでいると仮定] zcat
mysql> select table_name, table_rows from information_schema.TABLES where table_schema = 'zabbix'; +----------------------------+------------+ | table_name | table_rows | +----------------------------+------------+ | acknowledges | 15 | | actions | 33 | | alerts | 4104 | | application_discovery | 0 | | application_prototype | 0 | | application_template | 1109 | | applications | 1669 | | auditlog |
MySQLで実行されたSQLをログに出力する方法を以下に示します。 ※ここで説明に使用しているMySQLは、当サイトのCentOS7 64bitのyumリポジトリにMySQLを追加し、最新バージョンをインストールのページを元にインストールしたバージョン5.6になります。 ※データベースの作成については、当サイトのMySQL データベースの作成のページをご覧ください。 ※テーブルの作成については、当サイトのMySQL テーブルの作成のページをご覧ください。 ※データベース接続ユーザーの作成については、当サイトのMySQL データベース接続ユーザーの作成のページをご覧ください。 MySQLの設定ファイルで、実行されたSQLをログに出力するよう設定 実行されたSQLのログへの出力は、デフォルトでは無効になっています。MySQLのサービスを起動時にSQLのログ出力を有効にするのは、MySQLの設定
情弱メモ。 mysqlでテーブル一覧とかカラム一覧とかを見るときは /* テーブル一覧 */ mysql> show tables; /* カラム一覧 */ mysql> desc <table_name>; みたいにやるんだけど、mysqlコマンドではなくて、sqlで確認したいときは mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | projectdb | | test | +--------------------+ で表示されるinformation_schemaというDBにいろんな情報が入ってるので、このDBを使うと良い。 information_schemaのテーブル一覧を見ると mysql> use informat
全然違います windows環境でCygWin入れてると怒られますよね? ※ Linuxでもとても難解な問題が出てくるので環境依存関係無いです(バグです) mysql -uroot -p して怒られます。 ekaneko@hoge ~ $ mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2) ekaneko@hoge ~ $ mysql -h 127.0.0.1 -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 22 S
mysqlでテーブルを作成するときに何気なくつけてたunsigned ちょっと気になったので調べてみました。 全ての整数タイプは、任意の(標準ではない) 拡張子である UNSIGNED を持つ事ができます。正数だけをコラムの中で許可し、大きい上位数値範囲が必要な時には符号無しの値を利用できます。例えば、INT カラムが UNSIGNED の時、カラム範囲のサイズは同じですが、その終点は -2147483648 と 2147483647 から、0 と 4294967295 までシフトします。 http://dev.mysql.com/doc/refman/5.1/ja/numeric-types.html 要するに数字を扱う場合でマイナスの値を必要としない時はunsigned属性を付けた方が使える値の範囲が増えるのでより効率的にデータを使えるようになるんですね! 指定なし:Signed タイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く