저는 Ubuntu 서버와 MySql을 처음 사용합니다. 실제 서버에 배포하기 전에 웹 개발 및 테스트에 사용할 수 있는 VirtualBox에서 서버를 생성하려고 합니다. 가상 머신에 Ubuntu 서버 14.04.1이 설치되어 실행 중입니다. PHP가 잘 작동하고 있습니다. 내 호스트 컴퓨터의 웹 브라우저에서 /var/www/html 폴더에 넣은 모든 항목에 액세스할 수 있습니다. MySql을 시작할 수 없습니다. Ubuntu와 함께 제공된 버전을 제거하고 dev.mysql.com의 MySql 저장소에서 다시 설치해 보았지만 여전히 시작되지 않습니다. 이전 버전에서는 이름이 기억나지 않는 ".sock" 파일에 오류가 발생했습니다. 이제 시작할 수 없다는 메시지만 표시되고 로그 파일에 액세스할 수 없다는 메시지만 표시됩니다. 거의 이틀 동안 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
다른 정보가 필요하면 알려주십시오. 저는 이 작업을 수행하여 웹 개발을 시작하고 싶습니다.
모든 도움에 미리 감사드립니다!
에릭
답변1
MySQL 사용자가 실행을 실행할 수 있는 권한에 문제가 있을 수 있다고 생각됩니다. 아래 명령을 실행하여 문제가 해결되었는지 확인하세요.
chown mysql /var/run/mysqld
답변2
네, 권한 문제인 것 같습니다. 로그에서 MySQL은 로그 파일을 생성할 수 없으므로 /var/log/mysql
권한을 mysql user :로 변경 chown -R /var/log/mysql
한 다음 mysql 프로세스를 다시 시작해야 합니다.