linux下mysql源碼安裝的簡單介紹

本文目錄一覽:

mysql linux怎麼安裝

第一種 :yum install mysql* -y

第二種 :源碼安裝 —》 先下載源碼的mysql,然後編譯。一般用cmake編譯。

Linux 下二進制源碼包安裝mysql 詳細過程

安裝之前先把二進制源碼準備好,可以從搜狐鏡像下載:我準備的是mysql-5.5.15-linux2.6-i686.tar.gz

,linux

version

2.6.18-164.el5

實際工作中和虛擬機的配置有些地方可能會不相同

====================================================================

注意:mysql

安裝的時候必須指定到

/usr/local

必須命名為mysql

二進制源碼安裝需要在安裝目錄/usr/local下運行

複製代碼代碼如下:

//創建用戶mysql

*

groupadd

-g

3306

mysql

*

useradd

-g

mysql

-u

3306

-M

mysql

*

id

mysql

*

chown

-R

mysql:mysql

/mydata/

//

mysql對目錄要有寫權限

*

ll

-d

/mydata/

*

cp

/mysql-5.5.15-linux2.6-i686

/usr/local

*

cd

/usr/local/mysql

//

開始初始化

mysql

*

chown

-R

mysql:mysql

.

*

ln

-sv

/mysql-5.5.15-linux2.6-i686

mysql

*

scripts/mysql_install_db

–user=mysql

–datadir=/mydata/data

//

span

style=”color:#993300;”scripts腳本初始化/span

初始化

用來生成mysql數據庫

數據庫用來存放表等源數據信息

複製代碼代碼如下:

//安裝完成

下面配置啟動

*

ls

support-files/

//

準備服務啟動腳本

*

cp

support-files/mysql.server

/etc/init.d/mysqld

//

放入init.d

*

chkconfig

–add

mysqld

//

加入服務列表

*

chkconfig

–list

mysqld

//

–list

顯示出來

複製代碼代碼如下:

//此時可以啟動mysql了

但還需要配置mysql

*

ls

/etc/my.cnf

*

ls

support-files/

*

cp

support-files/my-large.cnf

/etc/my.cnf

*

vim

/etc/my.cnf

[mysqld]

//

找到該段

並添加datadir

=

/mydata/data

datadir

=

/mydata/data

*

service

mysqld

start

//

開啟服務

*

netstat

-tnl

//

3306

端口打開

*

echo

$PATH

*

/usr/local/mysql/bin/mysql

*

export

PATH=$PATH:/usr/local/mysql/bin

//

span

style=”color:#cc6600;”注意/span:不加$

就僅僅剩下你添加的路徑

*

vim

/etc/profile

//

在export

之前添加下面的路徑

PATH=$PATH:/usr/local/mysql/bin

//

永久生效的路徑配置方法

*

mysql

//

此時mysql已經可啟動了

複製代碼代碼如下:

//mysql庫文件的路徑配置

*

ls

*

vim

/etc/ld.so.conf

//

修改庫文件位置

*

vim

/etc/ld.so.conf.d/mysql.conf

//

規範的配置

當前目錄下以.CONF結尾都可以配置

*

ldconfig

-v

|

grep

mysql

//

重新加載所有庫文件的路徑

沒有mysql的庫文件

vim

/etc/ld.so.conf.d/mysql.conf

/usr/local/mysql/lib

//

新建mysql.conf

文件

在文件中添加這些內容

*

ldconfig

-v

|

grep

mysql

//

修改之後在重新加載一次

否則服務器不知道

//mysql庫文件的路徑配置

*

ls

*

vim

/etc/ld.so.conf

//

修改庫文件位置

*

vim

/etc/ld.so.conf.d/mysql.conf

//

規範的配置

當前目錄下以.CONF結尾都可以配置

*

ldconfig

-v

|

grep

mysql

//

重新加載所有庫文件的路徑

沒有mysql的庫文件

vim

/etc/ld.so.conf.d/mysql.conf

/usr/local/mysql/lib

//

新建mysql.conf

文件

在文件中添加這些內容

*

ldconfig

-v

|

grep

mysql

//

修改之後在重新加載一次

否則服務器不知道

複製代碼代碼如下:

//頭文件的配置

庫文件有哪些函數以及函數在別人編寫程序的時候怎麼調用

怎麼傳遞參數

參數類型是什麼

返回值類型是是什麼

必須找到庫文件所對應的頭文件

庫文件對應的頭文件在/

usr/include

*

ls

/usr/include/

*

ln

-sv

/usr/local/mysql/include

/usr/include/mysql

//

頭文件的輸出

*

vim

/etc/man

*

vim

/etc/man.config

//

添加Man

MANPATH

/usr/local/mysql/man

OK!

mysql

配置成功—

linux下安裝mysql,求助大俠們

 MySQL有兩種安裝方式:源碼包安裝和二進制包安裝。這兩種方式各有特色:二位制包安裝不需編譯,針對不同的平台有經

過優化編譯的不同的二進制文件以及包格式,安裝簡單方便;源碼包則必須先配置編譯再安裝,可以根據你所用的主機環境進行優化,選擇最佳的配置值,安裝定製

更靈活。下面分別介紹這兩種安裝方式。

 3.1 源碼包方式安裝

3.1.1 在linux系統中添加運行Mysql的用戶和組

/usr/sbin/groupadd mysql

/usr/sbin/useradd -d /var/lib/mysql -s /sbin/nologin -g mysql mysql

3.1.2 下載最新穩定發行版(GA)的MySQL軟件

訪問MySQL網站下載最新穩定發行版的MySQL源碼包。本文使用的是5.0.51版本,在linux系統下用下面的命令下載:

wget

3.1.3 解壓縮下載的源碼包

首先建立一個工作目錄( 筆者建議的目錄為/usr/local/src/mysql ) :

mkdir -p /usr/local/src/mysql

將下載的源碼包移至工作目錄:

mv mysql-5.0.51.tar.gz /usr/local/src/mysql

進入工作目錄並用tar命令解壓源碼包:

cd /usr/local/src/mysql

tar zxvf mysql-5.0.51.tar.gz

命令執行結束後,當前工作目錄下將生成一個新的子目錄mysql-5.0.51,此目錄下即為mysql的源碼文件。

3.1.4 配置Makefile文件

進入MySQL源碼目錄:

cd mysql-5.0.51

執行下面的命令可查看可配置選項:

  ./configure –help

本文使用的配置命令格式如下:

CC=gcc CFLAGS=”-O3″ CXX=gcc CXXFLAGS=”-O3 -felide-constructors

-fno-exceptions -fno-rtti” ./configure

–prefix=/usr/local/mysql –enable-thread-safe-client –enable-assembler

–with-big-tables –with-client-ldflags=-all-static

–with-mysqld-ldflags=-all-static –with-charset=utf8

–with-collation=utf8_general_ci –with-extra-charsets=complex

配置選項說明:

CC:C編譯器的名稱(用於運行configure),本文示例為gcc

CFLAGS:C編譯器的標誌(用於運行configure),本文示例為-O3,指定優化級別為3

CXX:C++編譯器的名稱(用於運行configure),本文示例為gcc

CXXFLAGS:C++編譯器的標誌(用於運行configure)

  –prefix:指定安裝目錄,本文示例為/usr/local/mysql

–localstatedir:指定默認數據庫文件保存目錄,默認為安裝目錄下的var目錄

  –enable-thread-safe-client:編譯線程安全版的MySQL客戶端庫

  –enable-assembler:使用一些字符函數的彙編版本

–with-client-ldflags:客戶端鏈接參數,本文示例為指定靜態編譯mysql客戶端

  –with-mysqld-ldflags:服務器端鏈接參數,本文示例為指定靜態編譯mysql服務器

–with-big-tables:在32位平台上支持大於4G行的表

 

–with-charset:指定默認字符集。mysql默認使用latin1(cp1252)字符集,可以使用此選項更改。字符集可以是big5、

cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312、gbk、german1、hebrew、

hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7或

win1251ukr。

–with-collation:指定默認校對規則。mysql默認使用latin1_swedish_ci校對規則,可以使用此選項更改。

  –with-extra-charsets:服務器需要支持的字符集,有三種可能的值:空格間隔的一系列字符集名;complex ,包括不能動態裝載的所有字符集;all,將所有字符集包括進二進制。本文示例為complex。

  注意:要想更改字符集和校對規則,要同時使用–with-charset和–with-collation選項。 校對規則必須是字符集的合法校對規則。(在mysql中使用SHOW COLLATION語句來確定每個字符集使用哪個校對規則)。

3.1.5 編譯源代碼

  執行下面的命令編譯源代碼:

  make

3.1.6 安裝

  執行下面的命令安裝mysql到目標路徑:

  make install

3.1.7 複製默認全局啟動參數配置文件到/etc目錄

碼方式安裝需要手動複製配置文件,配置模板位於源碼樹的support-files目錄,有my-small.cnf、my-medium.cnf、

my-large.cnf、my-huge.cnf四個,選擇跟你的環境相接近的一個複製到/etc目錄,並做適當修改。關於mysql配置文件的詳細信

息請參閱筆者的其它文章或是mysql官方文檔。

本文示例選擇my-medium.cnf,執行下面的命令將其複製到/etc目錄:

cp ./support-files/my-medium.cnf /etc/my.cnf

3.1.8 初始化授權表

執行下面的命令初始化授權表:

  ./scripts/mysql_install_db –user=mysql

3.1.9 更改mysql數據目錄屬主和權限

默認數據庫文件保存目錄為安裝目錄下的var目錄,執行configure命令時可通過–localstatedir參數指定不同的目錄,本文示例為默認位置。

chown -R mysql.mysql /usr/local/mysql/var

chmod -R 700 /usr/local/mysql/var

3.1.10 設置開機自啟動服務控制腳本

執行下面的命令複製啟動腳本到資源目錄:

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

執行下面的命令增加mysqld服務控制腳本執行權限:

chmod +x /etc/rc.d/init.d/mysqld

執行下面的命令將mysqld服務加入到系統服務:

chkconfig –add mysqld

執行下面的命令檢查mysqld服務是否已經生效:

chkconfig –list mysqld

命令輸出類似下面的結果:

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

表明mysqld服務已經生效,在2、3、4、5運行級別隨系統啟動而自動啟動,以後可以使用service命令控制mysql的啟動和停止。

  啟動mysqld服務:

  service mysqld start

停止mysqld服務:

service mysqld stop

執行下面的命令關閉開機自啟動:

  chkconfig mysqld off

執行下面的命令可以改變開機自啟動的運行級別為3、5:

  chkconfig –level 35 mysqld on

3.1.11 將mysql的bin目錄加入PATH環境變量

編輯/etc/profile文件:

vi /etc/profile

在文件最後添加如下兩行:

PATH=$PATH:/usr/local/mysql/bin

export PATH

執行下面的命令使所做的更改生效:

. /etc/profile

3.2 二進制包方式安裝

 3.2.1 從安裝媒體安裝

Mysql二進制包已經包含在CentOS 5的安裝媒體中,可以直接從安裝媒體中安裝下面三個rpm包:

mysql-5.0.22-2.1.0.1.i386.rpm

mysql-devel-5.0.22-2.1.0.1.i386.rpm

mysql-server-5.0.22-2.1.0.1.i386.rpm

不同的版本文件名有所不同,請注意區分。

執行下面的命令安裝:

rpm -iUvh mysql-5.0.22-2.1.0.1.i386.rpm

rpm -iUvh mysql-devel-5.0.22-2.1.0.1.i386.rpm

rpm -iUvh mysql-server-5.0.22-2.1.0.1.i386.rpm

3.2.2 通過yum安裝

如果你安裝的機器此時可以連接到互聯網,筆者建議使用yum命令來簡化安裝過程:

yum install mysql-server mysql-devel mysql

yum將自動從centos的鏡像站點查找你指明的軟件的最新二進制包,並檢查軟件包依賴關係,安裝軟件的同時自動安裝其依賴的軟件包。

3.2.3 從mysql網站下載最新穩定版本的二進制包安裝

通過CentOS安裝媒體或yum安裝的二進制包版本會落後於mysql開發者網站發布的版本,可以從mysql網站下載安裝最新穩定版本的mysql。

訪問MySQL網站下

載最新穩定發行版的相應硬件平台的MySQL。本文使用的是Red Hat Enterprise Linux 5 RPM (x86)

5.0.45版本。需要下載Server、Client、Headers and Libraries、Share Libraries/Shared

compatibility libraries幾個rpm包,其它為可選包,按需要選擇。

在linux系統下用下面的命令下載:

wget

wget

wget

wget

wget

執行下面的命令安裝:

rpm -iUvh MySQL-server-community-5.0.45-0.rhel5.i386.rpm

rpm -iUvh MySQL-client-community-5.0.45-0.rhel5.i386.rpm

rpm -iUvh MySQL-devel-community-5.0.45-0.rhel5.i386.rpm

rpm -iUvh MySQL-shared-community-5.0.45-0.rhel5.i386.rpm

rpm -iUvh MySQL-shared-compat-5.0.45-0.rhel5.i386.rpm

4. MySQL的配置

4.1 目錄結構

 4.1.1 源碼包方式安裝目錄結構

源碼包方式安裝時通常是在3.1.4節中configure命令的–prefix選項指定的目錄中建立如下的目錄結構,特殊指定的目錄除外:

./bin #mysql用戶可執行文件目錄

./include/mysql #mysql C頭文件目錄

./info #mysql 信息文件目錄

./lib/mysql #mysql庫文件目錄

./libexec #mysql後台daemon程序目錄

./man #mysql聯機幫助文檔目錄

./mysql-test #mysql測試程序目錄

./share/mysql #mysql公用文件目錄,包括字符集、配置文件模板、啟動腳本、初始化SQL文件等

./sql-bench #mysql壓力測試程序目錄

/etc/my.cnf #mysql配置文件

/etc/rc.d/init.d/mysqld #mysqld服務啟動腳本

4.1.2 RPM二進制包方式安裝目錄結構

二進制包方式安裝時使用系統軟件默認目錄結構 :

/usr/bin #mysql用戶可執行文件目錄

/usr/libexec #mysql後台daemon程序目錄

/usr/lib/mysql #mysql庫文件目錄

/usr/lib64/mysql #如果為64系統,mysql 64位庫文件目錄

/usr/share/doc #mysql文檔目錄

/usr/share/info #mysql信息文件目錄

/usr/share/man #mysql聯機幫助文檔目錄

/usr/share/mysql #mysql字符集目錄

/usr/include/mysql #mysql C頭文件目錄

/var/log #mysqld服務日誌文件目錄

/var/run/mysqld #mysqld服務運行狀態目錄

/var/lib/mysql #mysql數據文件目錄

/etc/my.cnf #mysql配置文件

/etc/rc.d/init.d/mysqld #mysqld服務啟動腳本

4.2 配置文件

Linux

系統下,mysql的配置參數文件為my.cnf,一般按下面的順序查找此文件:/etc目錄、mysql安裝目錄、mysql數據目錄。配置模板位於源

碼樹的support-files目錄,有my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf四

個,關於mysql配置文件的詳細信息請參閱筆者的其它文章或是mysql官方文檔。

4.3 啟動mysqld服務

執行下面的命令啟動mysql:

service mysqld start

4.3 設置mysql帳號

mysql安裝後默認生成兩個帳號:一個是root,未設置密碼,可以從本機登錄到mysql;另一個是匿名帳號,無帳號名、無密碼,可以從本機登錄,未提供用戶名的連接都將假定為此帳號。這樣的設置存在着安全隱患,按下面的步驟進行更改。

以root帳號連接到mysql服務器:

mysql -u root

如果提示找不到mysql文件,請嘗試使用絕對路徑,如本文示例為:

/usr/local/mysql/bin/mysql -u root

命令成功執行後將進入到mysql命令提示符下:

mysql

(以下命令均在mysql命令提示符下執行)

改變當前數據庫為mysql:

use mysql

設置從本地主機登錄的root帳號密碼:

set password for root@localhost=password(‘your password’);

或:

update user set password=password(‘your password’) where user=’root’ and host=’localhost’;

刪除匿名帳號:

delete from user where user=” ;

刪除密碼為空的帳號:

delete from user where password=”;

刪除允許非localhost主機登錄的帳號:

delete from user where host’localhost’ ;

執行下面的命令使更改生效:

flush privileges ;

執行下面的命令退出mysql命令行:

quit

或:

/q

5. 結束語

至此,Mysql基本安裝完畢。希望本文能對初學者有所幫助。

linux安裝mysql時執行 scripts/mysql_install_db –user=mysql報錯 bash: mysql_install_db:未找到命令

linux安裝mysql時執行 scripts/mysql_install_db –user=mysql報錯 bash: mysql_install_db:未找到命令是設置錯誤造成的,解決方法為:

1、下載mysql的源碼安裝包,使用下面的命令來下載wget 下載的時間可能有點漫長,請耐心等待。

2、下載完成後,使用命令: ll 可以查看當前目前下存在  mysql-5.6.24.tar.gz文件然後使用下面的命令解壓壓縮包:tar -zxvf mysql-5.6.14.tar.gz。

3、然後使用命令: ll 可以查看當前目前下存在  mysql-5.6.24 目錄使用命令:cd mysql-5.6.24  切換到 mysql-5.6.24  這個目錄下。

4、安裝完成後,我們還要建立mysql的配置,首先設置mysql的訪問權限,使用命令查看是否已經存在mysql用戶及用戶組,查看用戶列表命令:cat /etc/passwd 查看用戶組列表命令:cat /etc/group。

5、添加mysql的環境變量,以方便以後的操作輸入密碼:vi /etc/profile在文件的底部添加如下內容:PATH=/usr/local/mysql/bin:$PATHexport PATH保存並退出,輸入輸入命令,使配置立即生效:source /etc/profile。

怎麼在linux下部署mysql 源碼部署安裝

查找以前是否安裝有mysql,使用下面命令:

rpm -qa|grep -i mysql

如果顯示有如下包則說明已安裝mysql

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

原創文章,作者:VTICY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/129400.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VTICY的頭像VTICY
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • 如何修改mysql的端口號

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

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

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

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

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

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

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

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

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

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28

發表回復

登錄後才能評論