用cmake編譯安裝mysql(如何安裝cmake)

本文目錄一覽:

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]中的內容,看看你copy後的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根目錄下\stage\lib中,請根據MySQL的編譯步驟中的指示填寫在Makefile裡面或者加入環境變數(具體的我不太清楚,需要您視具體情況而定)。

怎麼查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

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

cmake怎樣編譯安裝mysql

不同linux版本,安裝不同版本的mysql方法各不相同,下面以CentOS 6.5編譯安裝MySQL 5.6.16介紹:

一.準備工作

1.yum安裝各個依賴包

[root@WebServer ~]# yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bison bison-devel unzip

2.新建mysql組和用戶

[root@WebServer ~]# groupadd mysql

[root@WebServer ~]# useradd -g mysql -s /sbin/nologin mysql

3.目錄準備

[root@WebServer ~]# mkdir -p /webserver/mysql/etc

[root@WebServer ~]# mkdir -p /webserver/mysql/data

[root@WebServer ~]# mkdir -p /webserver/mysql/tmp

[root@WebServer ~]# chown -R mysql.mysql /webserver/mysql

4.解壓MySQL並進入安裝目錄

[root@WebServer ~]# tar zxvf mysql-5.6.16.tar.gz

[root@WebServer ~]# cd mysql-5.6.16

二.編譯並安裝

1.編譯MySQL

[root@WebServer mysql-5.6.16]# cmake -DCMAKE_INSTALL_PREFIX=/webserver/mysql \

-DSYSCONFDIR=/webserver/mysql/etc \

-DMYSQL_DATADIR=/webserver/mysql/data \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_UNIX_ADDR=/webserver/mysql/tmp/mysqld.sock \

-DMYSQL_USER=mysql \

-DEXTRA_CHARSETS=all \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DENABLE_DOWNLOADS=1

2.如果出現以下錯誤

如何安裝mysql

給你個鏈接,我第一次就是照這個安裝的,講的比較通俗易懂

用過MySQL之後,不論容量的話,發現比其他兩個(sql server 、oracle)好用的多,一下子就喜歡上了。下面給那些還不知道怎麼弄的童鞋們寫下具體的方法步驟。

(我這個寫得有點太詳細了,甚至有些繁瑣,有很多步驟在其他的教程文檔里都是省略掉的,但我還是要寫出來,因為我當時走了很多彎路,我希望你們能夠避免我走的這些彎路。當然,知道同學的可以略過,選擇你想知道的地方看)

工具/原料

• 電腦 win7 64bit

方法/步驟

1

第一大步:下載。

a.俗話說:「巧婦難為無米之炊」嘛!我這裡用的是 ZIP Archive 版的,win7 64位的機器支持這個,所以我建議都用這個。因為這個簡單嘛,而且還乾淨。

地址見圖:

拉倒最下面,看清楚了64bit ZIP Archive ,點擊Download。

2

b.點開之後會進入另一個頁面,但卻沒有開始下載,這個時候不用怕,看不懂沒關係,你只要知道他是要讓你們登錄(login),或者 申請賬號(sign up)個就行了,登錄或者申請成功後就會開始下載。(記住密碼要字母和數字組合,字母要有大寫)

c.注意:密碼要字母和數字組合,字母要有大寫字母

4

d.當然你如果有賬戶的話,也可以直接登錄進去

5

成功後點擊DownNow。文件不大,才200多M,很快的,稍等一下(成功後按理說也是到達下面這個地方的,但假如不知這樣的話,你自己找一下,或者直接退出來,重複以上步驟,選登錄那個就是了。

6

在多說一句,MySQL 是開源(open source)資料庫,所謂開源就是可以查看源代碼的,我相信很多童靴都會對這個感興趣。那麼在哪下源代碼呢?

在剛進-(第一個圖片那地址)的時候。有一個Select Platform,選擇下面的source code就行。

(同理如果要下載linux平台下的MySQL也是在這找)

下載完畢,下面開始著手安裝和配置

7

第二大步:安裝(解壓)

ZIP Archive版是免安裝的。只要解壓就行了。和安裝版的沒什麼不同,但就是不需要安裝。找到下載好的mysql-x.x.xx-winx64.zip右鍵選擇(解壓到…),找到你想安裝的地方,喜歡放C:盤的就選擇C:盤,不喜歡的就自己選個就是了,小編喜歡放D:盤,畢竟c:系統盤放的東西太多不好。解壓完就ok了,是不是很簡單?知道 ZIP Archive版的好處了吧

8

你是不是要問了?怎麼用啊?\bin點裡面的mysql。exe怎麼出來一個黑窗口就沒反應了?

沒反應是因為服務還沒開!

沒開,是不是打開就好了?

服務還沒安裝!

怎麼安裝?

下面講!

9

第三大步:配置默認文件

其實理論上現在這樣就可以直接安裝服務了,但是因為是默認配置,我們使用的時候會出現很多問題。比如裡面的漢字全是亂碼之類的,所以建議你先配置一下默認文件。在mysql-x.x.xx-winx64(小編的是5.6.17根據自己的版本來定)目錄下,新建個my.ini。複製下面的代碼保存就ok了。my.ini會替換掉下面的my-default.ini文件。.ini文件是window裡面的配置文件。保存裡面各種默認的數據。安裝版的是在安裝的時候讓你自己選然後系統給你保存進來,zip archive是自己寫,都一樣。裡面的代碼語法是什麼意思童鞋們自己查相關資料吧。畢竟我一兩句話說不清。這個文件在軟體運行時載入。

10

代碼:(把裡面D:\mysql\mysql-5.6.17-winx64改成你自己的軟體路徑,保存)

[mysql]

# 設置mysql客戶端默認字符集

default-character-set=utf8

[mysqld]

#設置3306埠

port = 3306

# 設置mysql的安裝目錄

basedir=D:\mysql\mysql-5.6.17-winx64

# 設置mysql資料庫的數據的存放目錄

datadir=D:\mysql\mysql-5.6.17-winx64\data

# 允許最大連接數

max_connections=200

# 服務端使用的字符集默認為8比特編碼的latin1字符集

character-set-server=utf8

# 創建新表時將使用的默認存儲引擎

default-storage-engine=INNODB

11

第四大步:安裝mysql服務

a開始-在面的搜索欄裡面輸入cmd,上面會出來一個cmd.exe,別忙著點確定,要右鍵這個cmd.exe選擇一管理員的身份運行這個選項。不然會出現一個身份不夠的錯誤碼,具體數忘了。這是win7的一個特點。知道就行了。若是my.ini寫錯的話,錯誤碼是1067.

(你也可以在C:\Windows\System32目錄下找到這個cmd.exe,同樣右鍵它,以管理員身份確定。)

12

以管理員身份打開cmd窗口後,將目錄切換到你解壓文件的bin目錄,我的目錄是圖裡面那個,你的話,要以你自己的目錄為準。再輸入mysqld install回車運行就行了,注意是是mysqld,不是mysql

出現安裝成功就ok了。我由於已經安裝了,所以結果就是這個了。

接著就是在輸入 net start mysql 啟動服務。或者不嫌麻煩就手動,打開服務手動啟動了mysql服務了。

13

告訴大家一個win7打開服務界面的簡單方法。打開任務管理器(右鍵選擇任務管理器也好,ctrl+alt+delete也罷,隨你喜好)。點下面的服務就ok了,是不是很簡單,比控制面板那個方法簡單多了吧。當然你也可以在cmd窗口裡面輸入services.msc也是可以的。

14

第五大步:打開MySQL

還是將目錄切換到D:\mysql\mysql-x.x.xx-winx64\bin(x.xx.xxx是什麼根據你自己的版本來吧)輸入mysql -uroot -p ,默認是沒有密碼的。回車進入,當然我的已經設置密碼了,所以要輸入密碼才能進。有密碼的話,可以mysql -uroot -p密碼,也是可以是mysql -uroot -p 回車輸入密碼,推薦第二種,原因,你動手之後就知道了。

設置密碼的方法:mysqladmin -u root -p password 密碼。

退出exit 就行了。記住直接關閉cmd窗口是沒有退出的,要輸入exit才會退出啊。

15

雖然打開mysql 了,但每次打開mysql 都要輸入那麼多指令切換目錄是不是很討厭?怎麼弄呢?會的當然不用我說了,不會的也不用急,我來告訴你們。

右鍵我的電腦-屬性-高級系統設置-環境變數-path-編輯,將你的mysql軟體下的bin目錄的全路徑放裡面。我建議童鞋們放在最前面,最後在那個目錄的路徑後面加個英文的分號(;)保存就行了。如D:\mysql\mysql-x.x.xx-winx64\bin;

為啥這樣弄呢?原理是個啥?簡單的說環境變數裡面的path路徑這東西,就是cmd系統的查找目錄路徑。你輸入一個指令,系統怎麼知道這個指令有沒有呢?系統做了什麼事?其實系統是在當前目錄和系統環境變數path裡面的路徑全部查找一邊,找到第一個為準,找不到就報錯。所以我們要不每次都切換cmd目錄,要不就設置了,以後就不需要再切換cmd路徑了。

打個比方:系統就像一輛公交車。按著既定的路線走。環境變數裡面的路徑就是那個路線或者說是各個站。到了站(找到第一個)就下車(運行)。

16

現在配好了環境變數,讓我們在來運行一下吧!

cmd-mysql -uroot -p -回車輸入密碼-show databases;查找資料庫-use 資料庫名;切換資料庫目錄-show tables;查找表-sql查詢工作select * from 表名-exit退出。

其他的指令都輸資料庫操作方面的事了,小編就不贅述了,你們可以找一些相關的書。

17

小編是比較喜歡使用cmd窗口來操作mysql的,你用習慣了之後發現他是如此的方便快捷。比那什麼圖形化界面好用多了,而且你給mysql安個圖形化界面就失去了他相比其他兩個資料庫的好的那些意義。小編強烈不推薦大家使用圖形化界面操作mysql資料庫。但你真要用我也沒辦法。給你們推薦幾個圖形化的管理工具:

1、phpMyAdmin

2、MySQLDumper

3、Navicat

4、MySQL GUI Tools

5、MySQL ODBC Connector

這些工具怎麼安裝我相信網上還是會有很多像我這樣教程的,大家可以找下看看。

18

附加步步驟:為你的mysql瘦身

有沒有沒發現一個問題,你下載mysql壓縮包的時候只有200M多一點,可解壓只有竟然達到竟然的1G多,右鍵你的mysql-x.x.xx-winx64目錄,選擇屬性來看看他的大小吧!為什麼會這樣呢,其實還是那個問題,mysql是開源的資料庫,裡面的源文件和debug等文件都沒有刪掉,這些文件其實沒有什麼用的,都刪掉就是了。刪掉dubug文件和.pdf文件。當然不止這一個目錄裡面有,自己找一下,但別刪錯了。刪了之後是不是發現小了特別多!

END

注意事項

• 裡面有沒提到的錯誤,你們可以把錯誤碼複製下來百度一下,我相信你們能遇到的錯誤別人也能遇到。

• 遇到問題要有耐心,問題解決了就是一個大的進步。不要怕遇到問題。你現在每遇到一個問題,在以後就是你所擁有的財富。

• 感謝大家不厭其煩的看我啰嗦這麼多。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230504.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 18:16
下一篇 2024-12-10 18:16

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27
  • 如何使用MySQL欄位去重

    本文將從多個方面為您詳細介紹如何使用MySQL欄位去重並給出相應的代碼示例。 一、SELECT DISTINCT語句去重 MySQL提供了SELECT DISTINCT語句,通過在…

    編程 2025-04-27
  • MySQL正則表達式替換

    MySQL正則表達式替換是指通過正則表達式對MySQL中的字元串進行替換。在文本處理方面,正則表達式是一種強大的工具,可以方便快捷地進行字元串處理和匹配。在MySQL中,可以使用正…

    編程 2025-04-27
  • cmake minsizerel 後綴 d是什麼以及怎麼使用

    cmake是一個跨平台的開源編譯系統。它可以根據不同的平台、編譯器和其他參數來生成相應的Makefiles、Visual Studio工程或Xcode工程等。minsizerel是…

    編程 2025-04-27
  • Apache2.4和MySQL的全能編程開發工程師指南

    本文將從多個方面對Apache2.4和MySQL進行詳細的闡述,為全能編程開發工程師提供有用的參考和指導。首先,我們來解答這個標題所涵蓋的主題: 本文將提供Apache2.4和My…

    編程 2025-04-27

發表回復

登錄後才能評論