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(いくつかの変数)
参考
【Python】TypeError: Unicode-objects must be encoded before hashing
概要
以下のエラーが出たためメモ。
TypeError: Unicode-objects must be encoded before hashing
解決策
文字列の末尾に.encode('utf-8')
を追記する。
【Python】AttributeError: 'UUID' object has no attribute 'get_hex'
概要
以下のエラーが発生したためメモ。
AttributeError: 'UUID' object has no attribute 'get_hex'
解決法
get_hex
をhex
にする。
- key = self.prefix + uuid.uuid4().get_hex() + key = self.prefix + uuid.uuid4().hex
【Python】MySQLdb must be installed on the system
概要
以下のエラーが出たためメモ。
MySQLdb must be installed on the system
解決策
PyMySQLをinstallする。
pip3 install PyMySQL // もしくは pip install PyMySQL