2016-04-25 7 views
0

ここでかなり簡単な質問です。私はKali Linuxの私のバージョンでSQLデータベースを欲しいので、SQLを練習することができます。Linux上でMySQLサーバをどのように起動しますか?

コマンドラインを開いて、mysqlを起動しようとしてエラーが発生しました。

> mysql -u root 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 

また、apt-getを使用して既にインストールされていることを確認しました。

クエリできるテーブルとデータを使用してデータベースを作成するために必要な手順は何ですか?

答えて

3

私はカーリーのことは知らないが、あなたがそれに接続するためにmysqlクライアントを使用することができますので、Ubuntuの上で、それは、mysqldサービスが開始され、そのコマンドが返す一度

$ sudo service mysql start 

だろう。

もちろん、mysql-clientmysql-commonだけでなく、mysql-serverパッケージがインストールされており、データベースインスタンスが初期化されていることを確認する必要があります。完全なポストインストール手順the official documentationで見つけることができますが、ショートバージョンが

  1. でインストーラがmysqlユーザーアカウントを作成していることを確認してください。これは、サーバープロセスが開始されるとサーバープロセスを「所有する」アカウントです。
  2. データディレクトリに移動します。 (私はインストーラのデフォルトの/var/lib/mysqlを使用しましたが、これはmy.cnfを編集することで変更できます)
  3. --initializeスイッチを使用してサーバーデーモンを実行します。正しいパスを決定するためにwhereisを確認し、

    $ sudo /path/to/mysqld --initialize --user=mysql 
    
  4. このコマンドが自動的に生成されたパスワードを表示して終了、その後、しばらくの間、自分自身をひねります。コマンドが戻ったら、データベースインスタンスが初期化され、システムテーブルが作成されます。これで、パスワードを使用して(システムユーザーrootと同じではありません)データベースユーザーrootとしてログインし、その後、(service startを使用して)、通常のデータベース・インスタンスを起動することができますパスワードを変更し、新しいデータベースユーザを作成し、というユーザとしてログインし、ユーザデータベースを作成し、テーブルの作成を開始します。

また、the official documentationはこれを探す場所です。 the official documentationの指示のいずれかが私の指示と異なる場合は、私を無視してthe official documentationの指示に従ってください。

+0

ブーム!それが私の必要なものです。 CREATE TABLEコマンドを実行できるように、データベースをどのように初期化するかを追加してもよろしいですか? – Jmaurier

1

sudo service mysql startが動作しない場合は、mysqld_safeを実行してください。プロセスを強制終了しないでください。別のタブを使ってmysqlサービスの状態を確認してください。これにより、mysqld.sockの問題が解決するはずです。

それがうまくいかない場合は、お使いのmy.cnfファイルを編集し、以下を追加してください。

socket=/var/lib/mysql/mysql.sock 

と権限、

sudo chmod -R 755 /var/lib/mysql/ 

うまくいけば、これはそれを行う必要があります。

+0

それは私のために違いはありませんでしたが、それはまだ有益な知識です。 – Jmaurier

関連する問題