centos6原始碼編譯安裝mysql

2021-09-11 11:48:38 字數 3145 閱讀 6167

建立mysql使用者:useradd  -r  mysql

安裝依賴包:

yum -y install gcc gcc-c++  ncurses-devel  cmake

編譯有乙個warning:bison executable not found in path(可以繼續安裝不影響使用)

可以通過yum -y install  bison-devel bison

tar xf mysql-5.6.13.tar.gz,進入解壓後的目錄進行編譯(可以將編譯內容作為乙個shell指令碼執行,也方便下次編譯):

#!/bin/bash

cmake . \

-dcmake_install_prefix=/usr/local/mysql \

-dmysql_datadir=/usr/local/mysql/data \

-denabled_local_infile=1 \

-dsysconfdir=/usr/local/mysql/etc \

-dwith_innobase_storage_engine=1 \

-dwith_partition_storage_engine=1 \

-dmysql_unix_addr=/usr/local/mysql/mysql.sock \

-ddefault_charset=utf8 \

-ddefault_collation=utf8_general_ci \

-dwith_extra_charsets=all \

-dmysql_user=mysql \

-dmysql_tcp_port=3306

make && make install

mkdir  /usr/local/mysql/etc

mkdir  /usr/local/mysql/log

chown  mysql.mysql  /usr/local/mysql  -r

cp  /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysql

部分編譯引數解釋:

dcmake_install_prefix  /usr/local/mysql      安裝路徑

default_charset  latin1      拉丁 預設字符集

default_collation    latin1_swedish_ci     指定伺服器預設的校對規則(排序規則)

enabled_local_infile    off     是否開啟內部載入外部檔案功能  預設off  1代表開啟0代表關閉

* mysql_datadir                     資料檔案目錄

* sysconfdir                           初始化引數檔案目錄(主配置檔案路徑(預設優先去/etc目錄去找))

* mysql_tcp_port                    服務埠號,預設3306

* mysql_unix_addr                   socket檔案路徑,預設/tmp/mysql.sock 

* without_***_storage_engine        指定不編譯的儲存引擎

* with_***_storage_engine       指定靜態編譯到mysql的儲存引擎,myisam,merge,member以及csv四種引擎預設即被編譯至伺服器,不需要特別指定。

* with_extra_charsets    擴充套件字符集

-dwith_partition_storage_engine=1    支援分割槽

編寫配置檔案:

mysql預設讀取/etc/my.cnf ,沒有的話再到安裝配置目錄下進行讀取,可以直接修改/etc/my.cnf,也可以在刪除/etc/my.cnf,然後再自己設定的配置目錄下編寫my.cnf,我配置目錄是/usr/local/mysql/etc,安裝不會產生這個目錄,需要自己進行建立,mysql的安裝目錄也會產生乙個my.cnf,生效的優先順序是:/etc/my.cnf ==> /usr/local/mysql/my.cnf ==> /usr/local/mysql/etc/my.cnf,下面是基本的配置資訊,其他選項可以自己按需要進行新增

[mysqld_safe]

logs-error = /usr/local/mysql/log/mysql-err.logs

[mysqld]

user=mysql

socket = /tmp/mysql.sock

port = 3306

basedir = /usr/local/mysql

pid-file = /usr/local/mysql/mysqld.pid

datadir = /usr/local/mysql/data

初始化資料庫(安裝預設的庫表):

cd  /usr/local/mysql/scripts

./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

--no-defaults:不要從任何的配置檔案中讀取相應的引數,忽略掉mysql安裝過程中的預設配置,如建立預設使用者並設定預設密碼等,可以視情況決定是否使用這個引數

啟動資料庫:

service mysql start

可能出現的錯誤:

starting mysql............... error! the server quit without updating pid file (/usr/local/mysql/mysqld.pid)

1.許可權問題:chown  mysql.mysql  /usr/local/mysql  -r

2.配置檔案書寫錯誤,重複檢查一遍,特別是路徑;或者預設的配置檔案沒有刪除或修改,自己編寫的配置檔案沒有生效;檢查配置檔案中的目錄是否都存在

3.檢視錯誤日誌,根據日誌報錯進行問題解決

檢查資料庫埠是否啟動:

netstat -tnpl|grep 3306

啟動成功預設是無密碼的,可以直接mysql回車進入資料庫,如果提示sock檔案問題,找到自己資料庫的sock檔案位置,通過-s指定進入sock進入資料庫,如:mysql  -s  /tmp/mysql.sock,也可以建立鏈結檔案到系統提示的位置。

centos6原始碼編譯安裝nginx

2.安裝依賴包 yum install y gcc gcc c autoconf automake zlib zlib devel openssl openssl devel pcre pcre devel libevent devel 3.建立nginx執行使用者 groupadd r nginx...

CentOS 6原始碼編譯安裝MySQL5 6

說明 mysql5.6版本預設安裝目錄就是 usr local mysql。root localhost mysql 5.6.19 make root localhost mysql 5.6.19 make install 新建mysql資料檔案目錄 root localhost mysql mkd...

centOS6上原始碼編譯方式安裝Nginx

2.安裝環境依賴。yum install gcc c yum y install zlib zlib developenssl openssl devel pcre pcre devel 或yum y install gcc zlib zlib devel pcre devel openssl op...