7上源碼編譯安裝mysql(源碼編譯教程)

本文目錄一覽:

如何安裝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

注意事項

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

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

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

centos7 安裝mysql時怎麼對錶進行初始化

對於源代碼編譯安裝或者通過二進位包直接拷貝安裝的mysql,默認並沒有mysqld這個啟動腳本。可以在源碼包或者拷貝的二進位包的support files目錄中拷貝mysql.server文件為/etc/init.d/mysqld,然後就可以通過service腳本管理服務了。

如何源碼安裝mysql

方法/步驟

1

[root@localhost soft]# groupadd mysql 添加mysql標準組

[root@localhost soft]# useradd -g mysql mysql 添加mysql用戶並加到mysql組中

2

安裝mysql

[root@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz

[root@localhost mysql-5.5.46]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝路徑

# -DMYSQL_DATADIR=/usr/local/mysql/data \ #數據文件存放位置

# -DSYSCONFDIR=/etc \ #my.cnf路徑

# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎

# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎

# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎

# -DWITH_READLINE=1 \ #快捷鍵功能(我沒用過)

# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #連接資料庫socket路徑

# -DMYSQL_TCP_PORT=3306 \ #埠

# -DENABLED_LOCAL_INFILE=1 \ #允許從本地導入數據

# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安裝支持資料庫分區

# -DEXTRA_CHARSETS=all \ #安裝所有的字符集

# -DDEFAULT_CHARSET=utf8 \ #默認字元

# -DDEFAULT_COLLATION=utf8_general_ci \ #校驗字元

3

修改目錄所有者和所有組

[root@end mysql]# chown -R mysql:mysql .

4

初始化資料庫

[root@end mysql]# scripts/mysql_install_db –user=mysql –datadir=/usr/local/mysql/data/

5

複製mysql服務啟動配置文件(注意:在CentOS 6.4版操作系統的最小安裝完成後,在/etc目錄下會存在一個my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啟動。)

[root@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

註冊為服務

[root@end mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

讓chkconfig管理mysql服務

[root@end mysql]# chkconfig –add mysqld[root@end mysql]# chkconfig mysqld on

設置環境變數

在文件/etc/profile末尾添加

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

立即生效

[root@end mysql]# source /etc/profile

啟動mysql服務

[root@end mysql]# service mysqld startStarting MySQL…

檢查mysql服務是否啟動

[root@end mysql]# netstat -tulnp |grep 3306

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

修改mysql用戶root密碼

[root@end mysql]# mysql -uroot 登錄到mysql,首次登陸無密碼

設置mysql密碼

mysql SET PASSWORD = PASSWORD(‘endmoon’);

Query OK, 0 rows affected (0.00 sec)

用設置的密碼登錄

[root@end mysql]# mysql -u root -pEnter password: endmoon

若要設置root用戶可以遠程訪問,執行

mysql GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.20’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;Query OK, 0 rows affected (0.00 sec)

配置防火牆

防火牆的3306埠默認沒有開啟,若要遠程訪問,需要開啟這個埠

打開/etc/sysconfig/iptables,在-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT後面添加

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

[root@end mysql]# service iptables restart

使更改的防火牆配置生效 iptables:將鏈設置為政策 ACCEPT:filter [確定]

iptables:清除防火牆規則: [確定]

iptables:正在卸載模塊: [確定]

iptables:應用防火牆規則:

mysql資料庫的安裝到這裡就結束了

centos7怎樣安裝mysql伺服器

本人博客供參考

網頁鏈接

下載mysql源安裝包shell wget  

安裝mysql源shell yum localinstall mysql57-community-release-el7-8.noarch.rpm 

檢查mysql源是否安裝成功 

yum repolist enabled | grep 「mysql.-community.」 

 

安裝MySQL 

yum install mysql-community-server 

啟動MySQL服務 

shell systemctl start mysqld 

查看MySQL的啟動狀態 

shell systemctl status mysqld 

開機啟動 

shell systemctl enable mysqld 

shell systemctl daemon-reload 

修改root本地登錄密碼 

mysql安裝完成之後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。通過下面的方式找到root默認密碼,然後登錄mysql進行修改: 

shell grep 『temporary password』 /var/log/mysqld.log 

 

shell mysql -uroot -p 

mysql ALTER USER 『root』@』localhost』 IDENTIFIED BY 『MyNewPass4!』; 

或者: 

mysql set password for 『root』@』localhost』=password(『MyNewPass4!』); 

注意:mysql5.7默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤 

添加遠程登錄用戶 

默認只允許root帳戶在本地登錄,如果要在其它機器上連接mysql,必須修改root允許遠程連接,或者添加一個允許遠程連接的帳戶,為了安全起見,我添加一個新的帳戶: 

mysql GRANT ALL PRIVILEGES ON . TO 『yangxin』@』%』 IDENTIFIED BY 『Yangxin0917!』 WITH GRANT OPTION;

以上部分個人實踐過,以下內容待實踐

資料庫存emoji 表情問題

mysql SHOW VARIABLES WHERE Variable_name LIKE 『character_set_%』 OR Variable_name LIKE 『collation%』; 

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

| Variable_name | Value | 

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

| character_set_client | utf8 | 

| character_set_connection | utf8 | 

| character_set_database | latin1 | 

| character_set_filesystem | binary | 

| character_set_results | utf8 | 

| character_set_server | latin1 | 

| character_set_system | utf8 | 

| collation_connection | utf8_general_ci | 

| collation_database | latin1_swedish_ci | 

| collation_server | latin1_swedish_ci | 

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

10 rows in set (0.02 sec) 

可以看到我的mysql版本是5.7的,utf8mb4有一個使用限制,mysql版本必須是5.5以上,大家需要注意,我目前用的ubuntu系統是16.04的。當前mysql的字符集配置如上表,我們的目的是更改成utf8mb4。 

3.找到mysql的配置文件,可用命令 

sudo find / -name my.cnf 

我的配置文件位置如下,個別的位置有所不同 

/etc/mysql/mysql.conf.d/mysqld.cnf

4.修改配置文件 

在原文中添加以下內容: 

[client] 

default-character-set = utf8mb4 

[mysql] 

default-character-set = utf8mb4 

[mysqld] 

character-set-client-handshake = FALSE 

character-set-server = utf8mb4 

collation-server = utf8mb4_unicode_ci 

init_connect=』SET NAMES utf8mb4』 

原文件中無「[client]」和「[mysql]」,需要手動添加上。 

……

Here is entries for some specific programs

The following values assume you have at least 32M ram

[client] 

default-character-set = utf8mb4 

[mysql] 

default-character-set = utf8mb4 

[mysqld_safe] 

socket = /var/run/mysqld/mysqld.sock 

nice = 0 

[mysqld] 

#

* Basic Settings

user = mysql 

pid-file = /var/run/mysqld/mysqld.pid 

socket = /var/run/mysqld/mysqld.sock 

port = 3306 

basedir = /usr 

datadir = /var/lib/mysql 

tmpdir = /tmp 

lc-messages-dir = /usr/share/mysql 

skip-external-locking 

character-set-client-handshake = FALSE 

character-set-server = utf8mb4 

collation-server = utf8mb4_unicode_ci 

init_connect=』SET NAMES utf8mb4』 

#

Instead of skip-networking the default is now to listen only on

……

5.重啟mysql服務 

sudo service mysql restart

6.查看結果 

mysql SHOW VARIABLES WHERE Variable_name LIKE 『character_set_%』 OR Variable_name LIKE 『collation%』; 

ERROR 2006 (HY000): MySQL server has gone away 

No connection. Trying to reconnect… 

Connection id: 3 

Current database: * NONE * 

+————————–+——————–+ 

| Variable_name | Value | 

+————————–+——————–+ 

| character_set_client | utf8mb4 | 

| character_set_connection | utf8mb4 | 

| character_set_database | utf8mb4 | 

| character_set_filesystem | binary | 

| character_set_results | utf8mb4 | 

| character_set_server | utf8mb4 | 

| character_set_system | utf8 | 

| collation_connection | utf8mb4_unicode_ci | 

| collation_database | utf8mb4_unicode_ci | 

| collation_server | utf8mb4_unicode_ci | 

+————————–+——————–+ 

10 rows in set (0.00 sec)

linux7下怎樣源碼安裝mysql5.6

查找以前是否安裝有mysql,使用下面命令: rpm -qa|grep -i mysql 如果顯示有如下包則說明已安裝mysql mysql-4.1.12-3.RHEL4.1 mysqlclient10-3.23.58-4.RHEL4.1

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

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

相關推薦

  • 如何修改mysql的埠號

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

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

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

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

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

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

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

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29

發表回復

登錄後才能評論