一直很重視從壓縮包安裝MySQL,在Windows下很簡單.zip直接解壓就好(Windows的權(quán)限管理實在是弱--||)。但是在Fedora Core7下通過.tar.gz解壓卻啟動不了,無奈之下從MySQL官方文檔入手,開始了安裝歷程:
一、前驅(qū)準備
1. 為mysqld增加一個登錄用戶和組:
shell> groupadd mysql
shell> useradd -g mysql mysql-
2. 進入安裝目錄,以/usr/local為例,解壓.tar.gz二進制分發(fā)版。
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql
或者:
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
3. 在mysql目錄下,你會在mysql目錄下發(fā)現(xiàn)幾個文件和子目錄,對安裝目的最重要的是“bin”和“scripts”子目錄。
· bin
這個目錄包含客戶端程序和服務器,你應該把這個目錄的完整路徑加到PATH環(huán)境變量,以便shell能正確的找到MySQL程序。請參見附錄F:環(huán)境變量。
· scripts
這個目錄包含mysql_install_db腳本,用來初始化mysql數(shù)據(jù)庫的 授權(quán)表,其中貯存了服務器訪問允許。
Note: 如果還沒有安裝MySQL,必須創(chuàng)建MySQL授權(quán)表:
shell> scripts/mysql_install_db --user=mysql
4. 將程序二進制的所有權(quán)改為root,數(shù)據(jù)目錄的所有權(quán)改為運行mysqld 的用戶。如果位于安裝目錄(/usr/local/mysql)下,命令應為:
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
第一個命令將文件的所有屬性改為root用戶。第二個命令將數(shù)據(jù)目錄的所有屬性改為mysql用戶。第三個命令將組屬性改為mysql組。
5. 到這里,按照MySQL的文檔,服務器便可以啟動:
shell> bin/mysqld_safe --user=mysql &
但是,在Fedora Core7下,問題便出現(xiàn)了,提示如下信息,無法啟動服務器。
-------------------------------------------------------------------------
nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
071030 02:28:14 mysqld ended
------------------------------------------------------------------------------
問題出現(xiàn)最初沒有查看日志(以后要養(yǎng)成看日志的習慣!!)
---------------------------------------------------------------------
071030 14:23:56 mysqld started
nohup: ignoring input
071030 14:23:56 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
071030 14:23:56 mysqld ended
---------------------------------------------------------------------------
通過查看/var/log/mysqld.log基本確定是權(quán)限的問題,修改/var/lib/mysql/下的這幾個文件權(quán)限:
ibdata1 ib_logfile0 ib_logfile1
shell> chmod 766 /var/lib/mysql/ib*
mysql client默認使用/tmp/mysql.sock啟動socket,但是/tmp/mysql.sock不存在,mysql.sock在/var/lib/mysql/mysql.sock,所以或者創(chuàng)建鏈接指向?qū)嶋Hmysql.sock,或者更改mysql client的默認設(shè)置。
1. 在/tmp下創(chuàng)建指向/var/lib/mysql/mysql.sock的鏈接。
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
2. 更好mysql client配置(/etc/my.cnf)
編輯/etc/my.cnf,加入client配置。
[client]
socket=/var/lib/mysql/mysql.sock
本文出自:億恩科技【1tcdy.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|