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...