7源碼安裝mysql(安裝包源碼)

本文目錄一覽:

ubuntu 怎麼源碼安裝mysql

1.下載源碼包

2.解壓包

tar -zxvf mysql-5.6.33.tar.gz

3.安裝必要依賴

sudo apt-get install make bison g++ build-essential libncurses5-dev cmake

4.進入安裝包目錄,配置MySQL安裝參數 //源碼安裝最大的好處就是可以自定義參數,制定安裝目錄,方便管理

cmake -DCMAKE_INSTALL_PREFIX=[指定MySQL安裝的目錄]/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=[指定MySQL的數據存放目錄如:]/usr/local/mysql/data -DMYSQL_USER=mysql -DWITH_DEBUG=0

make -j4 #-j數字 表示以多核心運行編譯

make install #安裝

5. 常用命令軟連接,設置環境變數

sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

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

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

6.初始化資料庫

sudo /usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –user=mysql

7.啟動MySQL伺服器

sudo /usr/local/mysql/bin/mysqld start

#如果啟動不了,考慮編譯安裝時自定義數據存放目錄,所以導致mysqld找不到對應的目錄

解決: vi /usr/local/mysql/bin/mysqld

修改datadir = [指定MySQL的數據存放目錄如:] /usr/local/mysql/data

保存退出,再次啟動 sudo /usr/local/mysql/bin/mysqld start #OK 搞定

8. 啟動成功後創建root用戶的密碼

/usr/local/mysql/bin/mysqladmin -u root password ‘新密碼’

9.啟動MySQL端

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

輸入密碼

10.設置環境變數

vi /home/個人目錄/.bashrc 或者 vi /root/.bashrc

#在後面添加這段代碼

export PATH=”$PATH:/home/sy/lnmp/mysql/bin”

#重啟電腦ok

#若不想重啟電腦,僅限當次有效(重啟失效)

#執行命令

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

mysql –version //測試

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)

如何在centos7中裝mysql

運行mysql.server腳本,mysql.server腳本通過調用mysqld_safe啟動伺服器,該腳本可以通過參數start和stop指定啟動還是關閉。mysql.server腳本在MySQL安裝目錄下的share/mysql目錄中,如果是採用源碼安裝的MySQL,則可以在support-files目錄里找到。如果想使用mysql.server,則必須把它複製到合適的運行級別目錄中。

如上配置之後,就可以利用以下命令啟動和關閉MySQL實例。

執行命令:

service mysqld start就啟動了。

Linux下如何使用源碼安裝mysql且開啟分區 mysql:mysql-5.1.61.tar.gz 求詳細步驟~

1.實現linux下純手動MySQL源碼安裝,首先要下載MySQL的源碼,我下載的是MySQL-5.0.87.tar.gz 2.解壓tar –xvf MySQL-5.0.87.tar.gz 3.進入MySQL-5.0.87 4.檢測環境並指定安裝目錄:./configure –prefix=/usr/local/MySQL 檢測出來缺什麼就安裝什麼。我裝的時候居然連gcc和g++都沒有,沒有編譯器的話就要直接下載rpm包(已編譯好的二進位文件)再安裝到系統。 如下是安裝gcc的命令(要先去下載這個包,這個地址有比較多的rpm包下載): sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm 安裝這些rpm包的過程中有些是已安裝的,或者是自己依賴自己導致安裝不了,反正安裝不了就用強制安裝並忽略依賴的命令 sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm –-force –nodeps 可能進過安裝一系列的rmp包後,終於完成了環境檢測。我大概裝了10+個的rmp包才完成。。杯具啊 5.編譯:make 6.安裝:sudo make install 7.實現linux下純手動MySQL源碼安裝中要進行配置。首先可以看到安裝完的目錄如下 在share/MySQL下打命令:ls –l | grep my- 出來的都是MySQL的配置文件,按照需要選擇其中一個拷到/etc下命名為my.cnf /etc/my.cnf是MySQL默認讀的配置文件的路徑 8.修改var的可寫許可權。這是MySQL的資料庫數據文件存放的位置,因為用當前用戶來運行MySQL的後台程序可能沒有這個目錄的可寫許可權。 chmod 777 ./var –r 9.配置系統環境變數,使得可以直接執行MySQL的程序 系統的環境變數是放在/etc/profile下的,而用戶的環境變數是放在用戶的根目錄下的.bashrc下 (1) /etc/profile的配置: PATH=/usr/local/MySQL/bin:$PATH PATH=/usr/local/MySQL/libexec:$PATH export PATH其中/usr/local/mydql/bin是MySQL主要的可執行程序的目錄,而libexec是放MySQL的後台主程序MySQLd的 (2).bashrc的配置: set PATH=/usr/local/MySQL/bin:$PATH set PATH=/usr/local/MySQL/libexec:$PATH export PATH這裡注意.bashrc裡面是要加個set的。配置完後重登錄就可以生效了 10.在啟動MySQLd之前要先初始化它,執行MySQL_install_db 11.啟動MySQLd,直接打MySQLd就可以了,因為之前配置過系統環境變數了 12.直接MySQL進入MySQL的命令行控制。默認是以當前用戶名登錄的,默認root是沒有密碼的 13.設置root的密碼:MySQLadmin –u root password 『123456』 14.以root身份登錄:MySQL –uroot –p 15.設置遠程登錄資料庫。用戶創建後默認是只能在本地登錄的。 update user set Host=’%』 where user=『kuncai’; 這句是將kuncai這個用戶的允許登錄的地址改成任意,但不包括本地。也就是說這樣kuncai這個用戶就無法在本地登錄了,只能遠程登錄。 只有root用戶才能執行這句,所以要先以root用戶登錄到本地資料庫才行。 flush privileges; 要再執行這句刷新緩存才能生效。以上的相關內容就是對linux下純手動MySQL源碼安裝的介紹,望你能有所收穫。 感謝你們能看到這些,如果大家有興趣開個自己的-淘-寶-網-店,小成本的進行-創-業-嘗試,可以加我Q1300-855-633,進行諮詢聯繫

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

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

相關推薦

  • 如何修改mysql的埠號

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

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

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

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

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

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

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

    編程 2025-04-29
  • Python安裝包怎麼找

    Python是一種高級的、解釋型的編程語言,提供了良好的代碼可讀性和可維護性,被廣泛應用於Web開發、數據分析、人工智慧等領域。而在使用Python進行開發之前,首先需要安裝相應的…

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

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

    編程 2025-04-28
  • Python網站源碼解析

    本文將從多個方面對Python網站源碼進行詳細解析,包括搭建網站、數據處理、安全性等內容。 一、搭建網站 Python是一種高級編程語言,適用於多種領域。它也可以用於搭建網站。最常…

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

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

    編程 2025-04-28
  • 源碼是什麼

    源碼是一段計算機程序的原始代碼,它是程序員所編寫的可讀性高、理解性強的文本。在計算機中,源碼是指編寫的程序代碼,這些代碼按照一定規則排列,被計算機識別並執行。 一、源碼的組成 源碼…

    編程 2025-04-27
  • Go源碼閱讀

    Go語言是Google推出的一門靜態類型、編譯型、並髮型、語法簡單的編程語言。它因具有簡潔高效,內置GC等優秀特性,被越來越多的開發者所鍾愛。在這篇文章中,我們將介紹如何從多個方面…

    編程 2025-04-27

發表回復

登錄後才能評論