Linux安裝mysql 原始碼安裝

2021-06-12 10:15:48 字數 4256 閱讀 6435

1.假設已經有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz兩個原始檔

(1)先安裝cmake(mysql5.5以後是通過cmake來編譯的)

[root@ rhel5 local]#

tar -zxv -f cmake-2.8.4.tar.gz

[root@ rhel5 local]#

cd cmake-2.8.4

[root@ rhel5 cmake-2.8.4]#

./configure

[root@ rhel5 cmake-2.8.4]#

make

[root@ rhel5 cmake-2.8.4]#

make install

(2)建立mysql的安裝目錄及資料庫存放目錄

[root@ rhel5~]#

mkdir -p /usr/local/mysql //安裝mysql

[root@ rhel5~]#

mkdir -p /usr/local/mysql/data //存放資料庫

(3)建立mysql使用者及使用者組

[root@ rhel5~]groupadd mysql

[root@ rhel5~]useradd -r -g mysql mysql

(4)安裝mysql

[root@ rhel5 local]#

tar -zxv -f mysql-5.5.10.tar.gz

[root@ rhel5 local]#

cd mysql-5.5.10

[root@ rhel5 mysql-5.5.10]#

cmake .

-dcmake_install_prefix=/usr/local/mysql

-dmysql_datadir=/usr/local/mysql/data

-ddefault_charset=utf8

-ddefault_collation=utf8_general_ci

-dextra_charsets=all 

-denabled_local_infile=1

[root@ rhel5 mysql-5.5.10]#

make

[root@ rhel5 mysql-5.5.10]#

make install

引數說明:

-dcmake_install_prefix=/usr/local/mysql        //安裝目錄

-dinstall_datadir=/usr/local/mysql/data         //資料庫存放目錄

-ddefault_charset=utf8                        //使用utf8字元

-ddefault_collation=utf8_general_ci            //校驗字元

-dextra_charsets=all                            //安裝所有擴充套件字符集

-denabled_local_infile=1                        //允許從本地匯入資料

注意事項:

重新編譯時,需要清除舊的物件檔案和快取資訊。

# make clean

# rm -f cmakecache.txt

# rm -rf /etc/my.cnf

2.配置

(1)設定目錄許可權

[root@ rhel5~]#

cd /usr/local/mysql

[root@ rhel5 mysql]#

chown -r root:mysql . //把當前目錄中所有檔案的所有者所有者設為root,所屬組為mysql

[root@ rhel5 mysql]#

chown -r mysql:mysql data

(2)

[root@ rhel5 mysql]#

cp support-files/my-medium.cnf /etc/my.cnf //將mysql的啟動服務新增到系統服務中

(3)建立系統資料庫的表

[root@ rhel5 mysql]#

cd /usr/local/mysql

[root@ rhel5 mysql]#

scripts/mysql_install_db --user=mysql

(4)設定環境變數

[root@ rhel5~]#

vi /root/.bash_profile

在path=$path:$home/bin新增引數為:

path=$path:$home/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

[root@ rhel5~]#

source /root/.bash_profile

(5)手動啟動mysql

[root@ rhel5~]#

cd /usr/local/mysql

[root@ rhel5 mysql]#

./bin/mysqld_safe --user=mysql &   //啟動mysql,但不能停止

啟動日誌寫在此檔案下:/usr/local/mysql/data/localhost.err

關閉mysql服務

[root@ rhel5 mysql]#

mysqladmin -u root -p shutdown  //這裡mysql的root使用者還沒有配置密碼,所以為空值。需要輸入密碼時,直接點回車鍵即可。

(6)另一種簡單的啟動mysql的方法(mysql已經被新增到系統服務中)

[root@ rhel5~]#

service mysql.server start

[root@ rhel5~]#

service mysql.server stop

[root@ rhel5~]#

service mysql.server restart

如果上述命令出現:mysql.server 未識別的服務

則可能mysql還沒新增到系統服務中,下面用另一種方法新增:

[root@ rhel5 mysql]# cp support-files/mysql.server  /etc/init.d/mysql //

將mysql的啟動服務新增到系統服務中

注意:主要是將mysql.server拷貝到/etc/init.d中,命名為mysql。在有的系統中,mysql.server在/usr/local/mysql/share/mysql/mysql.server中,而本系統中,mysql.server在/usr/local/mysql/support-files/mysql.server中。

然後再用#service mysql start 來啟動mysql即可。

(7)修改mysql的root使用者的密碼以及開啟遠端連線

[root@ rhel5~]#

mysql -u root mysql

mysql>use mysql;

mysql>desc user;

mysql> grant all privileges on *.* to root@"

%" identified by "

root

";  //為root新增遠端連線的能力。

mysql>update user set password = password('******') where user='root';

mysql>select host,user,password from user where user='root';

mysql>flush privileges;

mysql>exit

重新登入:mysql -u root -p

若還不能進行遠端連線,則關閉防火牆

[root@ rhel5~]#

/etc/rc.d/init.d/iptables stop

注:如果不能遠端連線,出現錯誤mysql error number 1130,則加入下面語句試試:

mysql>grant all privileges on *.* to 'root'@'%' identified by '******' with grant option;

linux 原始碼安裝 mysql

系統centos 建立使用者 groupadd mysql useradd r g mysql s bin false mysql 建立資料儲存目錄 mkdir p data mysql db chown r mysql mysql data mysql db 安裝cmake 用來編譯 安裝編譯器等...

linux原始碼安裝mysql

首先原始碼安裝mysql需要搭建本地yum源,在上一節已經說過了,如果能聯網則不需要搭建。以下是安裝包的目錄結構,config目錄是配置檔案也就是my.cnf,這裡可以配置,安裝時將此檔案內容替換為 etc my.cnf soft目錄存放的是mysql的安裝tgr.gz包 將檔案都上傳到伺服器,使用...

Linux原始碼安裝MySQL

b 安裝詳情 c 編譯安裝 d 配置mysql環境變數 e 初始化系統資料庫 f 啟動服務 mysql使用cmake跨平台工具預編譯原始碼,用於設定mysql的編譯引數。如 安裝目錄 資料存放目錄 字元編碼 排序規則等。安裝最新版本即可。mysql原始碼中用到了c 的boost庫,要求必須安裝boo...