mk-toolブログ

エンジニアと家のことをごちゃごちゃと書いてます

MySQLを動かすことができない場合の対処方法

概要

以下のエラーが発生したためメモ。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

詳細

mysql起動

mysql」コマンドを実行しても上記のエラーが発生して先に進まない

service mysql start

エラーログをみる

エラーログは以下の場所へ出力されている。

/var/log/mysql/error.log

エラーログを見てみるとソケットファイルを作成できなかったとわかる

Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.

mysqlユーザに権限を与える

ソケットファイルが作れるようにmysqlユーザに権限を与える

sudo chown mysql:mysql /var/run/mysqld

以下のコマンドで動かせばOK

service mysql start

【Python】oduleNotFoundError: No module named '__builtin__'

概要

以下のエラーが発生したためメモ。Python3では__buildin__が利用できない。

ModuleNotFoundError: No module named '__builtin__'

解決策

__buildin__の代わりにbuiltinsを利用する。

# import __builtin__ ※これは使えない
import builtins
# __builtin__.__import__(引数) ※これは使えない
builtins.__import__(引数)

【Python】Python3でnew.instancemethodが使えない

概要

以下のエラーが発生したためメモ。

ModuleNotFoundError: No module named 'new'

調べてみるとPython3ではnewモジュールが利用できないみたい。

解決策

以下のように行うことで、解消できる。

# import new ※これは使用できない
from types import MethodType as instancemethod
# new.instancemethod(いくつかの変数) ※これは使用できない
instancemethod(いくつかの変数)

参考

stackoverflow.com

【Python】socket.error: [Errno 48] Address already in use

# 概要
以下のエラーが出たためメモ。
```
socket.error: [Errno 48] Address already in use
```

# 解決策
以下のコマンドを実行し、サーバ的な処理を行なっているプロセスをkillする。

```
// 検索
ps -fA | grep python
// 結果に対してkill
kill [プロセスID]
```

【Python】AttributeError: 'UUID' object has no attribute 'get_hex'

概要

以下のエラーが発生したためメモ。

AttributeError: 'UUID' object has no attribute 'get_hex'

解決法

get_hexhexにする。

-        key = self.prefix + uuid.uuid4().get_hex()
+        key = self.prefix + uuid.uuid4().hex