1. 程式人生 > >Linux下用普通使用者安裝mysql資料庫(編譯好的二進位制包安裝)

Linux下用普通使用者安裝mysql資料庫(編譯好的二進位制包安裝)

二進位制安裝mysql初始化如果出現:Installing MySQL system tables.../data1/mysqluser/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
原因:缺少libaio庫檔案 
解決方法:yum install libaio* -y


6.將mysql/目錄下除了data/目錄的所有檔案,改回root使用者所有,mysql使用者只需作為mysql/data/目錄下所有檔案的所有者。(這步不做好像也沒什麼問題)
[root@localhost mysql]chown -R root .
[root@localhost mysql]chown -R mysql data


7.複製配置檔案
-----------------------
重點-----------------------

a.先修改my.cnf檔案(根據需要修改配置)
用vi開啟my.cnf
[root@localhost mysql] vi my.cnf
執行:set nu顯示行號
因為我安裝在/data1/mysqluser目錄下,所以這裡我修改了安裝目錄,資料目錄和埠
按i進入插入模式(前面的數字是行號)
15 basedir = /data1/mysqluser/mysql (這裡不修改的話預設是/usr/local/mysql)
16 datadir = /data1/mysqluser/mysql/data (這裡不修改的話預設是/usr/local/mysql/data)
17 port = 3307(這裡不修改的話預設是3306)
按esc退出插入模式,執行:wq儲存退出

b.檢視mysql啟動的時候讀取配置檔案的位置(才能根據自己的需要放置配置檔案)

使用命令 mysql --help|grep my.cnf 檢視mysql從哪個目錄按順序讀取my.cnf配置檔案
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf 
/etc/mysql/my.cnf 
/usr/local/mysql/etc/my.cnf 
~/.my.cnf 

c.複製配置檔案
如果是root使用者,可以直接複製到/etc/my.cnf
[root@localhost mysql] cp my.cnf /etc/my.cnf
如果是用普通使用者安裝,只要把安裝目錄下的my.cnf檔案複製到當前使用者根目錄下並改名為.my.cnf (注意這個檔名前面有個英文句號)

[mysql@localhost mysql] cp my.cnf /data1/mysqluser/.my.cnf
以.開頭的檔案時隱藏檔案,用ls -la命令檢視即可看到
*如果沒有複製配置檔案,開啟服務的時候要帶上引數--defaults-file=/data1/mysqluser/mysql/my.cnf
/data1/mysqluser/mysql/bin/mysqld_safe --defaults-file=/data1/mysqluser/mysql/my.cnf
-----------------------重點-----------------------


二.設定mysql服務開機自啟

1.將support-files/mysql.server服務指令碼複製到/etc/init.d/,並重命名為mysqld。
-----------------------重點-----------------------
*如果安裝目錄不是/usr/local/mysql,需要先把support-files目錄下的mysql.server檔案做以下修改:
[mysql@localhost mysql]cd support-files
[mysql@localhost support-files]vi mysql.server
用vi開啟mysql.server後,執行 :set nu 顯示行號,按 i 修改46行和47行
46 basedir=/data1/mysqluser/mysql
47 datadir=/data1/mysqluser/mysql/data
按esc退出插入模式, 執行 :wq 寫入修改的資訊並儲存退出.
-----------------------重點-----------------------
[root@localhost mysql]  cp support-files/mysql.server /etc/init.d/mysqld
*這裡必須要有許可權才能將檔案複製到/etc/init.d目錄下,該目錄是系統目錄


2.通過chkconfig命令將mysqld服務加入到自啟動服務項中。
[root@localhost mysql]#chkconfig --add mysqld
*注意服務名稱mysqld就是我們將mysql.server複製到/etc/init.d/時重新命名的名稱。


3.檢視是否新增成功
[root@localhost mysql]#chkconfig --list mysqld
mysqld   0:off 1:off        2:on        3:on        4:on        5:on        6:off


4.重啟系統,mysql就會自動啟動了(或者手動啟動)