私は Ubuntu サーバーと MySql の初心者です。実際のサーバーに展開する前に、Web 開発とテストに使用できるサーバーを VirtualBox で作成しようとしています。Ubuntu サーバー 14.04.1 をインストールして仮想マシンで実行しています。PHP は正常に動作しています。ホスト マシンの Web ブラウザーから /var/www/html フォルダーに配置したものにはすべてアクセスできます。MySql を起動できません。Ubuntu に付属していたバージョンをアンインストールし、dev.mysql.com の MySql リポジトリから再インストールしてみましたが、それでも起動しません。以前のバージョンでは、名前を思い出せない ".sock" ファイルでエラーが発生しました。今は単に起動できないと表示され、ログ ファイルにアクセスできないとだけ表示されます。ほぼ 2 日間 Google で検索していますが、有効な解決策は見つかりません。私は Unix ターミナルにかなり不慣れなので、誤解していたらご容赦ください。
MySql サービスのステータス:
eric@Server:~$ sudo service mysql status
sudo: /var/lib/sudo owned by uid 1000, should be uid 0
[sudo] password for eric:
* MySQL Community Server 5.6.21 is not running
MySql を起動しようとすると、次のメッセージが表示されます。
eric@Server:~$ sudo service mysql start
sudo: /var/lib/sudo owned by uid 1000, should be uid 0
[sudo] password for eric:
No directory, logging in with HOME=/
touch: cannot touch ‘/var/log/mysql/error.log’: Permission denied
chmod: cannot access ‘/var/log/mysql/error.log’: Permission denied
/usr/bin/mysqld_safe: 129: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Permission denied
/usr/bin/mysqld_safe: 1: eval: cannot create /var/log/mysql/error.log: Permission denied
touch: cannot touch ‘/var/log/mysql/error.log’: Permission denied
chown: cannot access ‘/var/log/mysql/error.log’: Permission denied
chmod: cannot access ‘/var/log/mysql/error.log’: Permission denied
/usr/bin/mysqld_safe: 129: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Permission denied
......
* MySQL Community Server 5.6.21 did not start. Please check logs for more details.
そして、こちらがmysql --verbose --helpです(上からヘルプセクションを切り取りました)
eric@Server:~$ sudo mysql --verbose --help
sudo: /var/lib/sudo owned by uid 1000, should be uid 0
[sudo] password for eric:
mysql Ver 14.14 Distrib 5.6.21, for Linux (x86_64) using EditLine wrapper
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
[content cut]
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- ----------------------------------------
auto-rehash TRUE
auto-vertical-output FALSE
bind-address (No default value)
character-sets-dir (No default value)
column-type-info FALSE
comments FALSE
compress FALSE
debug-check FALSE
debug-info FALSE
database (No default value)
default-character-set auto
delimiter ;
enable-cleartext-plugin FALSE
vertical FALSE
force FALSE
named-commands FALSE
ignore-spaces FALSE
init-command (No default value)
local-infile FALSE
no-beep FALSE
host (No default value)
html FALSE
xml FALSE
line-numbers TRUE
unbuffered FALSE
column-names TRUE
sigint-ignore FALSE
port 3306
prompt mysql>
quick FALSE
raw FALSE
reconnect TRUE
socket /var/run/mysqld/mysqld.sock
ssl FALSE
ssl-ca (No default value)
ssl-capath (No default value)
ssl-cert (No default value)
ssl-cipher (No default value)
ssl-key (No default value)
ssl-crl (No default value)
ssl-crlpath (No default value)
ssl-verify-server-cert FALSE
table FALSE
user (No default value)
safe-updates FALSE
i-am-a-dummy FALSE
connect-timeout 0
max-allowed-packet 16777216
net-buffer-length 16384
select-limit 1000
max-join-size 1000000
secure-auth TRUE
show-warnings FALSE
plugin-dir (No default value)
default-auth (No default value)
histignore (No default value)
binary-mode FALSE
connect-expired-password FALSE
他に情報が必要な場合はお知らせください。Web 開発を開始できるように、これを動作させたいと思っています。
あらゆるご協力をよろしくお願いいたします!
エリック
答え1
これは、MySQL ユーザーが実行権限を持っているかどうかの問題であると思われます。以下のコマンドを実行して、問題が解決するかどうかを確認してください。
chown mysql /var/run/mysqld
答え2
はい、権限の問題のようです。ログによると、MySQL は にログ ファイルを作成できない/var/log/mysql
ため、権限を mysql ユーザーに変更してchown -R /var/log/mysql
から、mysql プロセスを再起動する必要があります。