Linux下用普通使用者安裝mysql資料庫(編譯好的二進位制包安裝)
阿新 • • 發佈:2019-02-20
二進位制安裝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就會自動啟動了(或者手動啟動)
原因:缺少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就會自動啟動了(或者手動啟動)