MySQL 源碼安裝

来源:http://www.cnblogs.com/chenmh/archive/2016/03/16/5250801.html
-Advertisement-
Play Games

創建mysql數據目錄 創建mysql用戶和組 安裝插件 編譯安裝 wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz 具體選項可參考mysql官方:http://dev.mysql.com/doc/refman


安裝mysql  

創建mysql數據目錄

mkdir -p /usr/local/mysql       --安裝目錄

mkdir -p /usr/local/mysql/data   ---數據目錄

創建mysql用戶和組

groupadd mysql

useradd -r -g mysql mysql

安裝插件

yum  -y install gcc gcc-c++ autoconf bison cmake automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

編譯安裝

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

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_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/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
make

make install

 

具體選項可參考mysql官方:http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安裝目錄

-DINSTALL_DATADIR=/usr/local/mysql/data         //資料庫存放目錄

-DDEFAULT_CHARSET=utf8                        //使用utf8字元

-DDEFAULT_COLLATION=utf8_general_ci            //校驗字元

-DEXTRA_CHARSETS=all                            //安裝所有擴展字元集

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

-DINSTALL_SBINDIR=                     mysqlid目錄

-DSYSCONFDIR=                              my.cnf配置文件目錄

-DINSTALL_PLUGINDIR=                 插件目錄

-DINSTALL_MANDIR=                      手冊文件目錄

-DINSTALL_SHAREDIR=                  共用數據目錄

-DINSTALL_LIBDIR=                        library庫目錄

-DINSTALL_INCLUDEDIR=               header安裝目錄

-DINSTALL_INFODIR=                            信息文檔目錄

存儲引擎相關參數(- DWITH代表啟用,-DWITHOUT代表不啟用,mysql預設支持的資料庫引擎有MyISAM, MERGE, MEMORY, CSV,無需在編譯時再聲明):

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1

 

授予mysql用戶許可權

chown -R mysql:mysql /usr/local/mysql

創建系統自帶的資料庫和表

cd /usr/local/mysql

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

mysql_install_db 腳本的目的是生成新的MySQL授權表。它不覆蓋已有的MySQL授權表,並且它不影響任何其它數據。所有的資料庫相關文件都會預設生產在/usr/local/mysql/data路徑下

mv /usr/local/mysql/my.cnf /etc/my.cnf

chown -R mysql:mysql /usr/local/mysql

配置mysql啟動服務

進入源碼包文件

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

chmod +x /etc/init.d/mysql   --授予文件可執行許可權

chkconfig mysql on  --配置mysql開機自動啟動

service mysql start  --啟動MySQL

配置環境變數

為了能直接調用mysql命令,需要配置環境變數

vim /etc/profile

在/etc/profile文件末尾添加

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

使環境變數立即生效

source /etc/profile

設置mysql root用戶密碼

預設mysql root用戶安裝完密碼為空

mysql -uroot  ---登入

SET PASSWORD = PASSWORD('root');  --設置root密碼

預設root只運行本地訪問

use mysql

select user,host from user where user='root';

授予root遠程連接許可權,生產環境慎用

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

創建備份用戶

grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'%' identified by 'backup';

防火牆配置

預設3306埠是未啟用,啟用3306埠

vim /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

重新啟動防火牆

service iptables restart

 

centos7操作系統防火牆還需要修改的地方有:

Firewalld中添加埠方法如下:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

總結  

如果更改.sock的預設路徑,需要在本機登入那麼[client]中也要配置socket,實際的業務系統需要將日誌文件和數據文件分開磁碟存放,可以在my.cnf文件中配置。

 

備註:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明鏈接。

《歡迎交流討論》


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 數組 一.認識數組 oc中可以把NSObject對象的子類放到數組這個集合中,但是int、float、double等基礎數據類型需要先進行轉換才可以存入數組。 oc中數組以NS開頭,其中分為可變數組和不可變數組; 1.不可變數組(NSArray) 數組在創建的時候被初始化之後,不可以再次進行增、刪、
  • ios如何獲取圖片(二)無沙盒下 解決問題 解決問題1:tableView滑動卡頓,圖片延時載入 解決方法:添加非同步請求,在子線程里請求網路,在主線程刷新UI 解決問題2:反覆請求網路圖片,增加用戶流量消耗 解決方法:創建了downloadImage,downloadImage屬於數據源,當tabl
  • 一:NSURLConnection(IOS9.0已經棄用)是早期apple提供的http訪問方式。以下列出了常用的幾個場景:GET請求,POST請求,Response中帶有json數據 對於NSURLConnection有以下註意事項:(1)sendAsynchronourequest: queue
  • 今天有些匆忙。 效果圖如下: 代碼如下:
  • 本文只要實現運用(UITableView)表格實現頁面的傳值,同時運用了代理(委托)傳值。 目錄文件列表如下: AddressBookViewController.h AddressBookViewController.m ContentViewController.h ContentViewCon
  • 看過吳恩達的對過擬合和欠擬合的分析,這裡做一下小小的總結:課程主要從驗證誤差和訓練誤差著手分析,高的variance意味著過擬合,高的bias意味著欠擬合。 (1)隨著多項式的階數的增加,交叉驗證誤差先減小,後增大;訓練誤差不斷減小,當交叉驗證誤差和和訓練誤差都很大時候,交叉驗證誤差大約等於訓練誤差
  • CREATE TABLE auto_tbl(id INT AUTO_INCREMENT, name VARCHAR);自增長的列可以插入null, 同時一次可以插入多條記錄.別的和其他的sql資料庫語法基本一樣 INSERT INTO auto_tbl VALUES (NULL, 'AAA'); I
  • <!--StartFragment -->這是一道面試題,覺得有點意思就發出來了。 1。如圖兩個表,上為A,下為R 一、效果一 二、效果二 三、效果三 CREATE DATABASE AR GO USE AR go CREATE TABLE A ( code INT PRIMARY KEY NOT
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...