AWSでMySQL系の命令で【ERROR 2002 (HY000): Can't connect to local MySQL server through socke】となった時

#Laravel環境を構築する



AWSのCloud9を使って、Laravelの開発環境を構築するため、

- MySQLのバージョンアップ（ver5.5 -> ver.5.7）

- PHPのバージョンアップ（ver5.X -> ver.7）

- composerのインストール

- Laravel5.5のインストール


等々を行い、最後にデータベースを作成しよう！以下のコマンドを実行すると

```
sudo mysql --user="root" -e "CREATE DATABASE laravel character set UTF8mb4 collate utf8mb4_bin;"
```



下記のようなエラーが発生しました。




```
ERROR 2002 (HY000): Can't connect to local MySQL server through socke
```


色々調べましたが、解決することができず、、


#対策方法

調べていく中で、MariaDBの起動・停止・再起動・状態確認を行い、適切な処理を行うべきと、、

そこで、まずはMariaDBの状態確認をしていきました。
確認方法はystemctlコマンドの「status」を使って行います。

```
sudo systemctl status mariadb
```

↓起動していた場合は下記のように表示されます。↓
起動しているかどうかは、"Active"の部分に注目してみて下さい！
(起動していればactiveになって、停止していれば、inactiveになっています）

```
● mariadb.service - MariaDB 10.1.44 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-05-18 12:38:49 JST; 22h ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 33941 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 9479)
   CGroup: /system.slice/mariadb.service
           mq33941 /usr/sbin/mysqld

May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: Processing databases
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: information_schema
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: mysql
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: performance_schema
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: Phase 6/7: Checking and upgrading tables
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: Processing databases
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: information_schema
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: performance_schema
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: Phase 7/7: Running 'FLUSH PRIVILEGES'
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: OK</pre>
```


↓反対に、停止していた場合は下記のように表示されます。↓


```
● mariadb.service - MariaDB 10.1.44 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2020-05-19 10:53:02 JST; 6s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 33941 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 33941 (code=exited, status=0/SUCCESS)
   Status: "MariaDB server is down"

May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: mysql
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: performance_schema
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: Phase 6/7: Checking and upgrading tables
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: Processing databases
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: information_schema
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: performance_schema
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: Phase 7/7: Running 'FLUSH PRIVILEGES'
May 18 12:38:50 development-batch /etc/mysql/debian-start[33977]: OK
May 19 10:53:01 development-batch systemd[1]: Stopping MariaDB 10.1.44 database server...
May 19 10:53:02 development-batch systemd[1]: Stopped MariaDB 10.1.44 database server.
```

自分の場合はinactive (dead)になっていたため、次のコマンドでMariaDBの起動をしました！

起動は、systemctlコマンドの「start」を使って行います。sudoコマンドを使って、root権限で実行します。

```
sudo systemctl start mariadb
```

もう一度、データベースを作成すると

```
sudo mysql --user="root" -e "CREATE DATABASE laravel character set UTF8mb4 collate utf8mb4_bin;"
```


成功しました。


#参考文献

https://www.ubuntu-perl-web.com/blog/20200417174004.html

https://qiita.com/shinon_uk/items/488c67836219eb300109


ありがとうございました。Gracias