MySQL資料庫的編譯安裝

2021-10-10 06:32:49 字數 4735 閱讀 3144

yum -y install \

gcc \

gcc-c++ \

make \

ncurses \

ncurses-devel \

bison \

cmake

依賴包的說明

gcc : c語言的編譯器

gcc-c++ : c++的編譯器

make : 源**編譯(源**轉換成二進位制檔案)

[root@localhost ~

]# useradd -s /sbin/nologin mysql

[root@localhost ~

]# tar zxvf mysql-boost-

5.7.20

.tar.gz

[root@localhost ~

]#cd mysql-

5.7.20

[root@localhost mysql-

5.7.20

]# cmake \

>

-dcmake_install_prefix=

/usr/local/mysql \

>

-dmysql_unix_addr=

/usr/local/mysql/mysql.sock \

>

-dsysconfdir=

/etc \

>

-dsystemd_pid_dir=

/usr/local/mysql \

>

-ddefault_charset=utf8 \

>

-ddefault_collation=utf8_general_ci \

>

-dwith_innobase_storage_engine=

1 \>

-dwith_archive_storage_engine=

1 \>

-dwith_blackhole_storage_engine=

1 \>

-dwith_perfschema_storage_engine=

1 \>

-dmysql_datadir=

/usr/local/mysql/data \

>

-dwith_boost=boost \

>

-dwith_systemd=

1[root@localhost mysql-

5.7.20

]#make -j2

[root@localhost mysql-

5.7.20

]#make install

配置選項的含義:

dcmake_install_prefix:指定將 mysql 資料庫程式安裝到某目錄下,如目錄/usr/local/ mysql。

dmysql_unix_addr:指定套接字檔案的儲存路徑,資料庫連線的檔案 dsysconfdir:指定初始化引數檔案目錄

ddefault_charset:指定預設使用的字符集編碼,如 utf8。

ddefault_collation:指定預設使用的字符集校對規則,utf8_general_ci 是適用於 utf-8

字符集的通用規則。

dwith_innobase_storage_engine=1 :安裝innobase儲存引擎

dwith_archive_storage_engine=1 :安裝archive儲存引擎

dwith_blackhole_storage_engine=1 :安裝archive儲存引擎

dwith_perfschema_storage_engine :安裝federated儲存引擎

dmysql_datadir=/data/mysql: 資料安裝路徑

若要明確指定不編譯某儲存引擎,可以使用類似如下的選項:

-dwithout__storage_engine=1

如若要編譯進其它功能,如ssl等,則可使用類似如下選項來實現編譯時使用某庫或不使用某庫:

-dwith_readline=1

-dwith_ssl=system 表示使用系統上的自帶的ssl庫

-dwith_zlib=system

-dwith_libwrap=0

其它常用的選項:

-dmysql_tcp_port=3306: 設定預設埠的

-dmysql_unix_addr=/tmp/mysql.sock:mysql程序間通訊的套接字的位置

-denabled_local_infile=1:是否啟動本地的local_infile

-dextra_charsets=all:支援哪些額外的字符集

-ddefault_charset=utf8:預設字符集

-ddefault_collation=utf8_general_ci :預設的字符集排序規則

-dwith_debug=0:是否啟動debug功能

-denable_profiling=1:是否啟用效能分析功能

注意:

如果在cmake的過程中有報錯—

當報錯解決後,需要把原始碼目錄中的cmakecache.txt檔案刪除,然後再重新cmake,否則錯誤依舊。報錯:make:**

* no targets specified and no makefile found. stop.解決方法

5、make install

四、資料庫目錄許可權修改
chown -r mysql:mysql /usr/local/mysql/
五、修改配置檔案
vi /etc/my.cnf

[client]

port =

3306

default

-character-set=utf8

socket =

/usr/local/mysql/mysql.sock

[mysql]

port =

3306

default

-character-set=utf8

socket =

/usr/local/mysql/mysql.sock

[mysqld]

user = mysql

basedir =

/usr/local/mysql

datadir =

/usr/local/mysql/data

port =

3306

character_set_server=utf8

pid-file =

/usr/local/mysql/mysqld.pid

socket =

/usr/local/mysql/mysql.sock

server-id =

1sql_mode=no_engine_substitution,strict_trans_tables,no_auto_create_user,no_auto_value_on_zero,no_zero_in_date,no_zero_date,error_for_division_by_zero,pipes_as_concat,ansi_quotes

[root@localhost ~

]# chown mysql:mysql /etc/my.cnf

六、設定環境變數
echo 'path=/usr/local/mysql/bin:/usr/local/mysql/lib:$path'

>>

/etc/profile

echo 'export path'

>>

/etc/profile

source /etc/profile

七、初始化資料庫並設定登入密碼
cd /usr/local/mysql/

bin/mysqld \

--initialize-insecure \

--user=mysql \

--basedir=

/usr/local/mysql \

--datadir=

/usr/local/mysql/data

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl enable mysqld

systemctl start mysqld

systemctl status mysqld

netstat -anpt | grep 3306

mysqladmin -u root -p password "abc123" ##剛開始沒密碼是空的直接回車,然後輸入密碼abc123,在此確認abc123,這是在root賬戶下執行的

mysql -u root -p ##這個命令敲下,提示要輸入密碼,這個就是剛才設定的密碼abc123,可登入資料庫

如何編譯安裝MySQL資料庫

一台centos 7.6 虛擬機器 把mysql的壓縮包拖到xshell中 安裝環境依賴包 yum install y ncurses ncurses devel bison cmake建立使用者 useradd s sbin nologin mysql解壓縮並放到指定目錄中 tar zxvf my...

MySQL資料庫的編譯安裝過程

root localhost yum y install gcc gcc c make ncurses ncurses devel bison cmake root localhost useradd s sbin nologin mysql獲取mysql boost 5.7.20.tar.gz安裝...

編譯安裝MySQL資料庫系統

宣告 此版本為5.5.38,與新版本編譯安裝有區別,部落格以後還會持續更新 1.準備工作 安裝ncurses devel依賴包 yum y install ncurses develncurses是字元終端下螢幕控制的基本庫,你在tty下登入到主機上mysql需要的,所以依賴。mysql需要cmak...