當前位置:首頁 » 編程軟體 » cmake編譯mysql

cmake編譯mysql

發布時間: 2022-11-19 17:23:45

① mysql為什麼要用cmake編譯

設置linux自動匹配環境變數

1.$su #su進入root
#vi /etc/profile
在文件末尾加上下列語句:
PATH=$PATH:/sbin #在PATH變數後追加/sbin目錄
export PATH=$PATH:/sbin #設置變數為全局的
保存並退出。
退出root並在終端運行
$source /etc/profile #該命令的作用是重新執行剛修改的初始化文件,使之立即生效,而不必注銷並重新登好了在終端中輸入ifconfig 創建用戶和組

groupadd mysql // 建一個msyql的用戶和組
useradd -g mysql mysql -s /usr/sbin/nologin
mkdir /usr/local/mysql // 創建目錄
mkdir /usr/local/mysql/data // 數據倉庫目錄

安裝mysql

tar -zxvf mysql-5.5.14.tar.gz
cd mysql-5.5.14
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

PS: cmake的時候,參數可以不用那麼多,只要一個-DCMAKE_INSTALL_PREFIX=/usr/local/mysql就行了,我們可以在 my.cnf裡面配置。[mysqld]中的內容,看看你後的my.cnf有沒有這些設置,有就不用了在設置了。

make && make install
如果需要更改配置,則:
make clean
rm -f CMakeCache.txt

復制配置文件

cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

設置許可權

chmod +x /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

配置開機自啟動

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --list
//update-rc.d mysql defaults (/sbin/chkconfig --add mysql ; /sbin/chkconfig mysql on)
chkconfig --add mysql
chkconfig mysql on
chkconfig --list mysql

修改my.cnf配置

gedit /usr/local/mysql/my.cnf
[mysqld] 添加:
datadir=/usr/local/mysql/data
default-storage-engine=MyISAM
以下可選:
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
user = mysql
tmpdir = /tmp

安裝默認數據表

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

啟動MySQL

/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &
最後的「&」表示在後台運行,或者使用 /etc/init.d/mysql start (service mysql start)啟動

設置MYSQL命令行路徑
mysql命令的路徑在/usr/local/mysql/bin下面,所以你直接使用mysql命令時,系統在/usr/bin下面查此命令
解決辦法是: ln -s /usr/local/mysql/bin/mysql /usr/bin

測試MySQL是否啟動

1)查看是否有進程mysql
ps -ef | grep mysql

2)查看埠是否運行
netstat -tnl | grep 3306

3)讀取mysql版本信息
/usr/local/mysql/bin/mysqladmin version

至此,MySQL安裝完成。

三、錯誤解決
1.libstdc++.so依賴問題:使用命令yum install gcc

② cmake安裝mysql編譯提示錯誤,錯誤提示如下,請大家指教,謝謝!

錯誤提示里說你的計算機上沒有一個可用的Boost庫或版本太低,MySQL需要不低於Boost 1.57.0的版本。您應該嘗試下載一個Boost,並且完成編譯。

您應該會得到上面圖片中的大部分文件,除了幾個我自己添加的輔助編譯的腳本

完成之後請再嘗試重新編譯MySQL。

附註:編譯後生成的二進制庫保存在Boost根目錄下stagelib中,請根據MySQL的編譯步驟中的指示填寫在Makefile裡面或者加入環境變數(具體的我不太清楚,需要您視具體情況而定)。

③ cmake怎樣編譯安裝mysql

用cmake的應該是mysql5.5的版本,之前都是用make的。我安裝的使用應該沒有使用過.(點)。linux下作為參數傳遞給命令的.(點)一般代表當前目錄

④ linux使用cmake編譯mysql,提示錯誤,請高手幫忙解答,謝謝

手動創建
/application/mysql-5.5.32/data
目錄後再重新編譯試試

⑤ mysql為什麼要用cmake編譯

1.prepare階段,redo log落盤前,mysqld crash
2.prepare階段,redo log落盤後,binlog落盤前,mysqld crash
3.commit階段,binlog落盤後,mysqld crash
對於第一種情況,由於redo沒有落盤,毫無疑問,事務的更新肯定沒有寫入磁碟,資料庫的一致性受影響;

⑥ Mysql5.5.30使用Cmake編譯不通過,報出錯誤,該如何解決

應該是版本下載錯誤

⑦ MySQL cmake編譯時這些參數是什麼意思

MySQL cMake 常規參數介紹

-DCMAKE_INSTALL_PREFIX= 指向mysql安裝目錄
-DINSTALL_SBINDIR=sbin 指向可執行文件目錄(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql數據文件目錄(/var/lib/mysql)
-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目錄(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目錄(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文檔目錄(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安裝目錄(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向對象代碼庫目錄(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql 指向頭文件目錄(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文檔存放目錄(prefix/share/info)
prefix官方推薦設為/usr
類型csv,myisam,myisammrg,heap,innobase,archive,blackhole
若想啟用某個引擎的支持:-DWITH_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
若想禁用某個引擎的支持:-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
-DWITH_READLINE=1 啟用readline庫支持(提供可編輯的命令行)
-DWITH_SSL=system 啟用ssl庫支持(安全套接層)
-DWITH_ZLIB=system 啟用libz庫支持(zib、gzib相關)
-DWTIH_LIBWRAP=0 禁用libwrap庫(實現了通用TCP包裝的功能,為網路服務守護進程使用)
-DMYSQL_TCP_PORT=3306 指定TCP埠為3306
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路徑
-DENABLED_LOCAL_INFILE=1 啟用本地數據導入支持
-DEXTRA_CHARSETS=all 啟用額外的字元集類型(默認為all)
-DDEFAULT_CHARSET=utf8 指定默認的字元集為utf8
-DDEFAULT_COLLATION=utf8_general_ci 設定默認排序規則(utf8_general_ci快速/utf8_unicode_ci准確)
-DWITH_EMBEDDED_SERVER=1 編譯嵌入式伺服器支持
-DMYSQL_USER=mysql 指定mysql用戶(默認為mysql)
-DWITH_DEBUG=0 禁用debug(默認為禁用)
-DENABLE_PROFILING=0 禁用Profiling分析(默認為開啟)
-DWITH_COMMENT='string' 一個關於編譯環境的描述性注釋

⑧ 怎麼查mysql5.5,用cmake安裝時的編譯參數

# cd /usr/local/mysql5.5/docs
# vim INFO_BIN (其中 Pointer size: 4 一行之後的內容就是所要的參數,需要注意的是,這里的參數的書寫格式並不是在執行 cmake 命令時參數的標准格式 ,使用的時候要去掉 :BOOL或 PATH: 等字元)

===== Information about the build process: =====
Build was run at 2014-09-13 23:14:29 on host 'rhel5-8-1.breeze.com'

Build was done on Linux-2.6.18-308.el5 using i686
Build was done using cmake 3.0.2

===== Compiler flags used (from the 'sql/' subdirectory): =====
# compile C with /usr/bin/cc
# compile CXX with /usr/bin/c++
C_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DMYSQL_SERVER
CXX_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DMYSQL_SERVER

Pointer size: 4

===== Feature flags used: =====
-- Cache values
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql5.5
COMMUNITY_BUILD:BOOL=ON

⑨ cmake編譯mysql5.5出錯:Unknown CMake command "CHECK_LIBRARY_EXISTS".

./configure ----prefix=/cmake
你都用 --prefix ,而且還是指定到自定義目錄的方式了。還來 XXOO 的說這個指定目錄才能運行的問題……
哎……

1、make uninstall ,不過不是所有的都支持
2、export PATH=/cmake/bin:$PATH
3、我記得 bootstrap 是某個項目管理程序的控制腳本,用來生成編譯環境的。configure 好像就歸他生成,但一般軟體項目發布後都會生成好足夠用的環境,所以不一定需要這個東西。

關於 cmake ,我想說你的系統難道就沒有隻能用的 make 嗎?

⑩ linux 如何編譯安裝mysql

使用binary進行安裝,文件名mysql-standard-5.0.18-linux-i686-glibc23.tar.gz

[1]將上述文件解壓到某處,並將MySQL所以目錄名改為mysql,結果應如/home/xxx/mysql

[2]根據mysql目錄下的INSTALL-BINARY文件來進行安裝

// 加用戶組mysql,以及用戶mysql;該命令無需修改

shell> groupadd mysql

shell> useradd -g mysql mysql

// 以下三步的主要目的是為MySQL解壓目錄做一個鏈接,放到usr/local目錄中

// 首先是進入/usr/local目錄;該命令無需修改
shell> cd /usr/local

// 這一步可以不需要,因為已經解壓了

shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -

// 做一個到/home/xxx/mysql的鏈接,放在/usr/local中,該鏈接的名字是mysql。

// 該命令修改為ln -s /home/xxx/mysql mysql

shell>
ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql

// 進入/home/xxx/mysql目錄,/usr/local/mysql是到/home/xxx/mysql的鏈接

shell>
cd mysql

// 對MySQL進行初始化(如果以前已經安裝過MySQL,這一步可以簡略);該命令無需修改

shell> scripts/mysql_install_db --user=mysql

// 變更所有權;該命令無需修改

shell> chown -R root .

shell> chown -R mysql data

shell> chgrp -R mysql .

// 啟動MySQL伺服器;該命令無需要修改

shell> bin/mysqld_safe --user=mysql &
[3]進入MySQL應用環境
進入mysql目錄下的bin目錄,運行命令./mysql -u root
-p,此時將出現password:(要求輸入密碼),但默認情況下root用戶沒有密碼,所以回車即可。此時將進入MySQL界面,當然仍然只是個命令行窗口而以。
[4]簡單使用MySQL
在MySQL環境中運行命令show databases;,將會顯示已經有的資料庫(如test);運行命令use test,將進入test資料庫...

注意:如果在運行./mysql -u root -p之後,報
Can't connect to local MySQL server through socket '/tem/mysql.sock'
的錯誤,那麼可能有以下幾種情況:
[1]mysql.sock並不在/tmp目錄下,而是在其它某個目錄下(如,/var/lib/mysql目錄)。這時只需要將這個mysql.sock做鏈接到/tmp目錄下,運行命令:
ln -s MYSQL.SOCK_PATH /tmp/mysql.sock

[2]在同學的筆記本的Linux中,會在/tmp下生成mysql.sock,但重新啟動Linux後,該文件被刪除。這時也可以用情況2中的解決方法,或者每次都運行命令:./mysqld_safe --user=mysql &

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:737
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:149
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:544
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:366