- 投稿日:2019-05-21T16:50:14+09:00
Mysqlに接続できない時のTips
エラー内容
Railsの開発中に突然mysqlにアクセスを阻まれる。。orz
#入力コマンド // mysqlの停止 $ sudo service mysql stop // セーフモードでmysqlの起動 $ sudo mysqld_safe --skip-grant-tables & [1] 17586 2019-05-21T07:14:21.943446Z mysqld_safe Logging to syslog. 2019-05-21T07:14:21.948065Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2019-05-21T07:14:21.951694Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists. [1]+ Exit 1 sudo mysqld_safe --skip-grant-tables
'/var/run/mysqld' for UNIX socket file don't exists.
どうやら「ソケットファイルがないよ」と言ったエラーが起きているらしい。作ろう!
解決コマンド
$ sudo mkdir /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld接続の確認ができる。
※ときどき、時間が解決する時があって困る。(時間が経つと、mysqlに接続できる)参考:
MySQLサーバにログインできないとき
stackoverflowもしかすると...(他に考えられること)
エラー画面Can't connect to MySQL server on DBサーバー~~~~~
- DB側でセキュリティグループの設定をしていてIP制限しているかも!
- セキュリティグループで解放しているwifiに接続し直せばOK
- 投稿日:2019-05-21T00:24:56+09:00
コマンドラインでMySQL操作するときのコピペ用テンプレ
毎回ググって探すのがめんどくさいのでまとめました。
コマンド
接続
$ mysql -u ユーザ -pデータベース指定版
$ mysql -D データベース -u ユーザ -pバックアップ取得(データベース単位)
$ mysqldump --default-character-set=utf8 --single-transaction -u ユーザ -p データベース > ファイル名.dump.sqlバックアップ取得(テーブル単位)
$ mysqldump -u ユーザ -p データベース テーブル > ファイル名.dump.sqlバックアップ復元
$ mysql -u ユーザー -p -D データベース < ファイル名.dump.sql参考
ググったワード:【mysql db バックアップ】
mysqlバックアップの取り方 - Qiitaググったワード:【mysql テーブル dump】
MySQL 特定のテーブルのバックアップとリカバリー | kakiro-web カキローウェブググったワード:【mysql バックアップ テーブル】
MySQL で特定のテーブルのみをバックアップ | EasyRambleSQL
ユーザ作成
CREATE USER 'ユーザ'@'接続元ホスト' IDENTIFIED BY 'パスワード';ユーザ一覧取得
SELECT User, Host FROM mysql.user;参考
- ググったワード:【mysql ユーザー一覧】 MySQLで、ユーザーの一覧を確認するコマンド | WWWクリエイターズ
ユーザ削除
DROP USER ユーザ@接続元ホスト;参考
- ググったワード:【mysql ユーザ 削除】 ユーザーを削除する(DROP USER文) | MySQLの使い方
ユーザ権限付与
GRANT ALL ON データベース.* TO ユーザ@'接続元ホスト'; GRANT DELETE, INSERT ON データベース.テーブル TO ユーザ@'接続元ホスト';ユーザ権限一覧取得
SHOW GRANTS FOR 'ユーザ'@'接続元ホスト';参考
- ググったワード:【mysql ユーザー一覧 権限】 MySQLでユーザを作成し、権限を設定する方法 | サービス | プロエンジニア
データベース作成
CREATE DATABASE データベース;データベース一覧取得
SHOW DATABASES;データベース接続
use データベース;テーブル一覧取得
SHOW TABLES;テーブル削除
DROP TABLE テーブル;参考
- ググったワード:【mysql drop】 テーブルを削除する(DROP TABLE文) | MySQLの使い方
テーブル定義確認
DESCRIBE テーブル;インデックス定義取得
SHOW INDEX FROM テーブル;参考
SELECT
標準
SELECT * FROM テーブル WHERE 条件1 AND 条件2 \G件数
SELECT COUNT(*) FROM テーブル;INSERT
標準
INSERT INTO テーブル ( カラム1 ,カラム2 ) VALUES ( 1989 ,'平成' );UPDATE
標準
UPDATE テーブル SET カラム1 = 2019 ,カラム2 = '令和' WHERE 条件1 AND 条件2 ;DELETE
標準
DELETE FROM テーブル WHERE 条件1 AND 条件2 ;条件
NULLと空文字を除外したい場合
SELECT * FROM テーブル WHERE カラム2 != '' \G参考
- ググったワード:【mysql select null 空文字】 MySQLのNULL値と空文字の扱いについて - まいけるの日記