MySql # execute error


📝今日習った内容


昨日mysqlに関するsprintでmysqlをインストールしpart-3テストに合格しました.スケジュールにより、今日は次のテストpart-4に合格するためにテストに戻りましたが、データベースが接続できないエラーがずっと発生しています.データベースがよく知られていないため、何が問題なのかを特定するのに長い時間がかかり、かなり難しい時間を過ごしました.接続を続行できないエラーが発生したため、mysql再接続を繰り返すと突然接続できません.
最初はこんな間違いがあった.Google検索mysqlsockに関連するエラーの原因は多い.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
  • MySQLデーモン(サーバXを実行)
  • が起動していない場合
  • my.cnfファイルが破壊された場合は
  • mysql.sockファイルが見つからないか、パスが正しくない場合は、
  • を選択します.
    解決策はmysqlです.sockの場所を見つけて、正しいパスの対応するファイルを実行します.
    find / -name mysql.sock
    私の場合、上のコマンドはmysqlです.sockが見つかりません.以下のコマンドで解決します.
    mysql_config --socket

    mysql.sockが/tmpに属することを見つけた.mysql.sockは上のパスと同じなのでmy.cnfファイルの内容は、上記のパスに従って変更する必要があります.
    sudo vi /etc/my.cnf // sudo를 입력해줘야 파일을 수정하고 저장할 수 있다. 미입력 시 읽기만 가능

    参考としてvi接続を使用する場合は、入力するにはキーボードi(insert)を押す必要があります.修正後escキー:wq!保存できるように入力します.
    今は解決したと思いますが、mysql-u root-pを入力すると、また別のエラーが発生しました.
    Access denied for user 'root'@'localhost' (using password: YES)
    mysqlログイン時にパスワードが設定されています.パスワードが間違っていることを意味します.私は正しいと思っていたが、何度も触った後、ねじったようだ.今回もグーグルを試して、やっと解決できました.
  • /etc/my.cnfファイルを開いて変更します.
  • [mysqld]の下にskip-grant-tablesコマンドを入力します.(セキュリティモードへのアクセス方法)
  • mysqlを再起動します.(brew services restart mysql)
  • mysql-u root-p接続.
  • mysql接続状態でflush特権を入力します.(変更に即座に応答)
  • ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW PASSWORD';
  • /etc/miをやり直します.cnfファイルを返し、skip-grant-talbesをクリアして保存します.
  • MySQLを再起動します.(brew services restart mysql)
  • mysql-u root-pに再接続すれば正常に接続できます.
  • リファレンス


  • https://stackoverflow.com/questions/41645309/mysql-error-access-denied-for-user-rootlocalhost/41793945#41793945?newreg=f3c49b95d6f348fdad2a110c7c3ec711

  • https://blog.naver.com/islove8587/221970366883