關於linux中mysql編譯安裝的信息

本文目錄一覽:

linux怎麼編譯安裝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.如果出現以下錯誤

則需要

[root@WebServer mysql-5.6.16]# cd source_downloads/

[root@WebServer source_downloads]# unzip gmock-1.6.0.zip

[root@WebServer source_downloads]# ./configure

[root@WebServer source_downloads]# make

[root@WebServer source_downloads]# cd ..

然後刪除mysql-5.6.16目錄下的CMakeCache.txt重新使用cmake進行編譯安裝

2.安裝

[root@WebServer mysql-5.6.16]# make make install

編譯過程會比較漫長,編譯時間取決於機器的性能

三.MySQL配置

1.客戶端庫文件的鏈接(未執行此步驟的話,在PHP編譯時會提示找不到MySQL文件)

[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

ps:我使用的是64位CentOS,如果使用的是32位請使用ln -s /webserver/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

2.MySQL啟動文件的配置

[root@WebServer mysql-5.6.16]# cp support-files/mysql.server /etc/init.d/mysqld

[root@WebServer mysql-5.6.16]# chmod +x /etc/init.d/mysqld

[root@WebServer mysql-5.6.16]# vim /etc/init.d/mysqld

basedir=/webserver/mysql

datadir=/webserver/mysql/data

//修改以上這2行的路徑即可

3.設置MySQL配置文件

[root@WebServer mysql-5.6.16]# cp support-files/my-default.cnf /webserver/mysql/etc/my.cnf

[root@WebServer mysql-5.6.16]# rm -rf /etc/my.cnf

[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/etc/my.cnf /etc/my.cnf

4.初始化數據庫

[root@WebServer mysql-5.6.16]# cd /webserver/mysql

[root@WebServer mysql]# ./scripts/mysql_install_db –user=mysql –basedir=/webserver/mysql –datadir=/webserver/mysql/data

5.鏈接MySQL命令(這一步可以讓我們方便很多,可以不用寫出命令的路徑,也可以寫入/etc/profile的PATH中)

[root@WebServer ~]# cd /usr/sbin

[root@WebServer sbin]# ln -s /webserver/mysql/bin/* .

6.啟動MySQL並設置為開機啟動

[root@WebServer sbin]# service mysqld start ;chkconfig mysqld on

Starting MySQL.. SUCCESS!

7.設置MySQL root用戶的密碼

[root@WebServer ~]# mysqladmin -u root password 123456

這裡將MySQL的root密碼設置為123456,強烈不建議將數據庫的密碼設的簡單

8.刪除用戶密碼為空的用戶

[root@WebServer ~]# mysql -u root -p

Enter password:

mysql use mysql;

mysql select Host,User,Password from user;

+———–+——+——————————————-+

| Host | User | Password |

+———–+——+——————————————-+

| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| webserver | root | |

| 127.0.0.1 | root | |

| ::1 | root | |

| localhost | | |

| webserver | | |

+———–+——+——————————————-+

6 rows in set (0.00 sec)

mysql delete from user where password=””;

Query OK, 5 rows affected (0.00 sec)

mysql flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql select Host,User,Password from user;

+———–+——+——————————————-+

| Host | User | Password |

+———–+——+——————————————-+

| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

+———–+——+——————————————-+

1 row in set (0.00 sec)

mysql exit;

完畢。

linux 如何編譯安裝mysql?20170819 08:19

卸載mysql流程:

1、查找以前是否裝有mysql。

命令:rpm -qa|grep -i mysql

可以看到mysql的兩個包:

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

2、刪除mysql。

刪除命令:rpm -e –nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

3、刪除老版本mysql的開發頭文件和庫。

命令:rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:卸載後/var/lib/mysql中的數據及/etc/myf不會刪除,如果確定沒用後就手工刪除

rm -f /etc/myf

rm -fr /var/lib/mysql

如何在linux下安裝mysql

1、到mysql官網下載mysql編譯好的二進制安裝包,在下載頁面Select Platform:選項選擇linux-generic,然後把頁面拉到底部,

64位系統下載Linux – Generic (glibc 2.5) (x86, 64-bit),32位系統下載Linux – Generic (glibc 2.5) (x86, 32-bit)

2、解壓32位安裝包:

進入安裝包所在目錄,執行命令:tar mysql-5.6.17-linux-glibc2.5-i686.tar.gz

3、複製解壓後的mysql目錄到系統的本地軟件目錄:

執行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r

4、添加系統mysql組和mysql用戶:

執行命令:groupadd mysql和useradd -r -g mysql mysql

5、安裝數據庫:

進入安裝mysql軟件目錄:執行命令 cd /usr/local/mysql

修改當前目錄擁有者為mysql用戶:執行命令?chown -R mysql:mysql ./

安裝數據庫:執行命令?./scripts/mysql_install_db –user=mysql

修改當前目錄擁有者為root用戶:執行命令?chown -R root:root ./

修改當前data目錄擁有者為mysql用戶:執行命令?chown -R mysql:mysql data

到此數據庫安裝完畢

6、啟動mysql服務和添加開機啟動mysql服務:

添加開機啟動:執行命令cp support-files/mysql.server /etc/init.d/mysql,把啟動腳本放到開機初始化目錄

啟動mysql服務:執行命令service mysql start

執行命令:ps -ef|grep mysql 看到mysql服務說明啟動成功

7、修改mysql的root用戶密碼,root初始密碼為空的:

執行命令:./bin/mysqladmin -u root password ‘密碼’

8、把mysql客戶端放到默認路徑:

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

注意:建議使用軟鏈過去,不要直接包文件複製,便於系統安裝多個版本的mysql

linux 如何編譯安裝mysql

1.先安裝cmake

假設下載下來那個cmake源碼包名為cmake.tar.gz

tar zxvf cmake.tar.gz

cd cmake

./bootstrap make make install

這樣就用默認方式安裝好了cmake,cmake是新版本Mysql的編譯安裝工具。

2.安裝mysql

同樣地,假設下載下來那個mysql源碼包名為mysql.tar.gz

tar zxvf mysql.tar.gz

cd mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝mysql的路徑

-DMYSQL_DATADIR=/usr/local/mysql/data //存放數據庫的數據路徑

-DSYSCONFDIR=/etc //mysql的配置文件路徑,默認是/etc/路徑下的my.cnf文件

-DMYSQL_UNIX_ADDR=/var/tmp/mysql/mysqld.sock

-DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all

-DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_SPHINX_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1

-DMYSQL_USER=mysql make make install

其他參數的說明就不寫了,就按照這個來就行了,主要要修改的是你自己定義的mysql的安裝路徑,這些參數如果都不給的話,只有一個cmake,那麼就是安裝默認的mysql設置安裝,例如mysql的安裝路徑會是/usr/local/mysql。

比較值得注意的一點是,最後有個參數-DMYSQL_USER=mysql 。這裡需要提前新建一個系統用戶mysql,當然你也可以自定義用戶名,其他名字也行,參數對上就好了。

新建用戶名:

useradd mysql

passwd mysql //然後輸入該用戶的密碼

這樣就安裝好了數據庫了。

數據庫的默認端口是3306.

注意第一次安裝後,需要先cd /usr/local/mysql/scripts, 執行 ./mysql_install_db –defaults-file=/etc/my.cnf –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –user=mysql

建立數據庫

啟動mysql:

cd /usr/local/mysql

./bin/mysqld_safe –user=mysql

成功啟動數據庫後,

寫入賬戶密碼信息:

./bin/mysqladmin -h localhost -p 3306 -u root password 123456

新建了一個數據庫用戶root,密碼為123456

linux中怎麼安裝mysql

1. 運行平台:CentOS 6.3 x86_64,基本等同於RHEL 6.3

2. 安裝方法:

安裝MySQL主要有兩種方法:一種是通過源碼自行編譯安裝,這種適合高級用戶定製MySQL的特性,這裡不做說明;另一種是通過編譯過的二進制文件進行安裝。二進制文件安裝的方法又分為兩種:一種是不針對特定平台的通用安裝方法,使用的二進制文件是後綴為.tar.gz的壓縮文件;第二種是使用RPM或其他包進行安裝,這種安裝進程會自動完成系統的相關配置,所以比較方便。

3. 下載安裝包:

a. 官方下載地址:

或鏡像文件下載:

2. 下載文件(根據操作系統選擇相應的發布版本):

a. 通用安裝方法

mysql-5.5.29-linux2.6-x86_64.tar.gz

b. RPM安裝方法:

MySQL-server-5.5.29-2.el6.x86_64.rpm

MySQL-client-5.5.29-2.el6.x86_64.rpm

4. 通用安裝步驟

a. 檢查是否已安裝,grep的-i選項表示匹配時忽略大小寫

[root@localhost JavaEE]#rpm -qa|grep -i mysql

mysql-libs-5.1.61-4.el6.x86_64

*可見已經安裝了庫文件,應該先卸載,不然會出現覆蓋錯誤。注意卸:載時使用了–nodeps選項,忽略了依賴關係:

[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 –nodeps

b. 添加mysql組和mysql用戶,用於設置mysql安裝目錄文件所有者和所屬組。

[root@localhost JavaEE]#groupadd mysql

[root@localhost JavaEE]#useradd -r -g mysql mysql

*useradd -r參數表示mysql用戶是系統用戶,不可用於登錄系統。

c. 將二進制文件解壓到指定的安裝目錄,我們這裡指定為/usr/local

[root@localhost ~]# cd/usr/local/

[root@localhost local]#tar zxvf /path/to/mysql-5.5.29-linux2.6-x86_64.tar.gz

*加壓後在/usr/local/生成了解壓後的文件夾mysql-5.5.29-linux2.6-x86_64,這名字太長,我們為它建立一個符號鏈接mysql,方便輸入。

[root@localhost local]#ln -s mysql-5.5.29-linux2.6-x86_64 mysql

d. /usr/local/mysql/下的目錄結構

Directory

Contents of Directory

bin

Client programs and the mysqld server

data

Log files, databases

docs

Manual in Info format

man

Unix manual pages

include

Include (header) files

lib

Libraries

scripts

mysql_install_db

share

Miscellaneous support files, including error messages, sample configuration files, SQL for database installation

sql-bench

Benchmarks

e. 進入mysql文件夾,也就是mysql所在的目錄,並更改所屬的組和用戶。

[root@localhost local]#cd mysql

[root@localhost mysql]#chown -R mysql .

[root@localhost mysql]#chgrp -R mysql .

f. 執行mysql_install_db腳本,對mysql中的data目錄進行初始化並創建一些系統表格。注意mysql服務進程mysqld運行時會訪問data目錄,所以必須由啟動mysqld進程的用戶(就是我們之前設置的mysql用戶)執行這個腳本,或者用root執行,但是加上參數–user=mysql。

[root@localhost mysql]scripts/mysql_install_db –user=mysql

*如果mysql的安裝目錄(解壓目錄)不是/usr/local/mysql,那麼還必須指定目錄參數,如

[root@localhost mysql]scripts/mysql_install_db –user=mysql \

–basedir=/opt/mysql/mysql \

–datadir=/opt/mysql/mysql/data

*將mysql/目錄下除了data/目錄的所有文件,改回root用戶所有,mysql用戶只需作為mysql/data/目錄下所有文件的所有者。

[root@localhost mysql]chown -R root .

[root@localhost mysql]chown -R mysql data

g. 複製配置文件

[root@localhost mysql] cp support-files/my-medium.cnf /etc/my.cnf

h. 將mysqld服務加入開機自啟動項。

*首先需要將scripts/mysql.server服務腳本複製到/etc/init.d/,並重命名為mysqld。

[root@localhostmysql] cp support-files/mysql.server /etc/init.d/mysqld

*通過chkconfig命令將mysqld服務加入到自啟動服務項中。

[root@localhost mysql]#chkconfig –add mysqld

*注意服務名稱mysqld就是我們將mysql.server複製到/etc/init.d/時重命名的名稱。

*查看是否添加成功

[root@localhost mysql]#chkconfig –list mysqld

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

i. 重啟系統,mysqld就會自動啟動了。

*檢查是否啟動

[root@localhost mysql]#netstat -anp|grep mysqld

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2365/mysqld

unix 2 [ ACC ] STREAM LISTENING 14396 2365/mysqld /tmp/mysql.sock

*如果不想重新啟動,那可以直接手動啟動。

[root@localhost mysql]#service mysqld start

Starting MySQL.. SUCCESS!

j. 運行客戶端程序mysql,在mysql/bin目錄中,測試能否連接到mysqld。

[root@localhost mysql]#/usr/local/mysql/bin/mysql

Welcome to the MySQLmonitor. Commands end with ; or \g.

Your MySQL connection idis 2

Server version:5.5.29-log MySQL Community Server (GPL)

Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.

Oracle is a registeredtrademark of Oracle Corporation and/or its affiliates. Other names may betrademarks of their respective owners.

Type ‘help;’ or ‘\h’ forhelp. Type ‘\c’ to clear the current input statement.

mysql quit

Bye

*此時會出現mysql命令提示符,可以輸入sql語句,輸入quit或exit退出。為了避免每次都輸入mysql的全路徑/usr/local/mysql/bin/mysql,可將其加入環境變量中,在/etc/profile最後加入兩行命令:

MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

這樣就可以在shell中直接輸入mysql命令來啟動客戶端程序了

[root@localhost mysql]#mysql

Welcome to the MySQLmonitor. Commands end with ; or \g.

Your MySQL connection idis 3

Server version:5.5.29-log MySQL Community Server (GPL)

Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.

Oracle is a registeredtrademark of Oracle Corporation and/or its

affiliates. Other namesmay be trademarks of their respective

owners.

Type ‘help;’ or ‘\h’ forhelp. Type ‘\c’ to clear the current input statement.

mysql

5. RPM安裝步驟

a. 檢查是否已安裝,grep的-i選項表示匹配時忽略大小寫

[root@localhost JavaEE]#rpm -qa|grep -i mysql

mysql-libs-5.1.61-4.el6.x86_64

可見已經安裝了庫文件,應該先卸載,不然會出現覆蓋錯誤。注意卸載時使用了–nodeps選項,忽略了依賴關係:

[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 –nodeps

2. 安裝MySQL的服務器端軟件,注意切換到root用戶:

[root@localhost JavaEE]#rpm -ivh MySQL-server-5.5.29-2.el6.x86_64.rpm

安裝完成後,安裝進程會在Linux中添加一個mysql組,以及屬於mysql組的用戶mysql。可通過id命令查看:

[root@localhost JavaEE]#id mysql

uid=496(mysql)gid=493(mysql) groups=493(mysql)

MySQL服務器安裝之後雖然配置了相關文件,但並沒有自動啟動mysqld服務,需自行啟動:

[root@localhost JavaEE]#service mysql start

Starting MySQL.. SUCCESS!

可通過檢查端口是否開啟來查看MySQL是否正常啟動:

[root@localhost JavaEE]#netstat -anp|grep 3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 34693/mysqld

c. 安裝MySQL的客戶端軟件:

[root@localhost JavaEE]#rpm -ivh MySQL-client-5.5.29-2.el6.x86_64.rpm

如果安裝成功應該可以運行mysql命令,注意必須是mysqld服務以及開啟:

[root@localhost JavaEE]#mysql

Welcome to the MySQLmonitor. Commands end with ; or \g.

Your MySQL connection idis 1

Server version: 5.5.29MySQL Community Server (GPL)

Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademarkof Oracle Corporation and/or its affiliates. Other names may be trademarks oftheir respective owners.

Type ‘help;’ or ‘\h’ forhelp. Type ‘\c’ to clear the current input statement.

mysql

d. RPM安裝方式文件分布

Directory

Contents of Directory

/usr/bin

Client programs and scripts

/usr/sbin

The mysqld server

/var/lib/mysql

Log files, databases

/usr/share/info

Manual in Info format

/usr/share/man

Unix manual pages

/usr/include/mysql

Include (header) files

/usr/lib/mysql

Libraries

/usr/share/mysql

Miscellaneous support files, including error messages, character set files, sample configuration files, SQL for database installation

/usr/share/sql-bench

Benchmarks

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JYEZ的頭像JYEZ
上一篇 2024-10-08 17:53
下一篇 2024-10-08 17:53

相關推薦

  • 如何修改mysql的端口號

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

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

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

    編程 2025-04-29
  • Java 監控接口返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控接口返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

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

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

    編程 2025-04-29
  • 使用Python爬蟲獲取電影信息的實現方法

    本文將介紹如何使用Python編寫爬蟲程序,來獲取和處理電影數據。需要了解基本的Python編程語言知識,並使用BeautifulSoup庫和Requests庫進行爬取。 一、準備…

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

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

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

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

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28
  • 如何使用Python執行Shell命令並獲取執行過程信息

    本文將介紹如何使用Python執行Shell命令並獲取執行過程信息。我們將從以下幾個方面進行闡述: 一、執行Shell命令 Python內置的subprocess模塊可以方便地執行…

    編程 2025-04-28
  • Python實現身份信息模擬生成與查驗

    本文將從以下幾個方面對Python實現身份信息模擬生成與查驗進行詳細闡述: 一、身份信息生成 身份信息生成是指通過代碼生成符合身份信息規範的虛假數據。Python中,我們可以使用f…

    編程 2025-04-27

發表回復

登錄後才能評論