首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

伺服器安裝 MySQL 完整教程:取得版本、編譯參數、啟停、用戶建立、測試與語法速查

     編輯:MySQL 資料庫相關知識

從原始碼編譯安裝 MySQL 至生產環境的完整流程,含 FreeBSD 版本相依性、GCC 版本需求、低記憶體編譯、多實例部署、啟停腳本、系統服務註冊、root 建立業務用戶、基礎 SQL 語法與函數速查。

1. 取得最新版本

雖然 Ports/Packages 內建,但建議至 官網 下載最新 GA 版本原始碼 tarball,確保安全修補與新功能。

2. 編譯安裝關鍵參數

3. 初始化與啟停

# 首次安裝必跑
/usr/local/mysql/scripts/mysql_install_db

# 啟動 (腳本法)
/usr/local/share/mysql/mysql.server start   # chmod 777 mysql.server

# 停止
/usr/local/bin/mysqladmin shutdown
# 若有密碼
/usr/local/bin/mysqladmin -u root -p shutdown

# 開機自啟 (rc.local)
/usr/local/share/mysql/mysql.server start

4. 建立專用運行用戶

# 建立 mysql 用戶/群組
chown -R mysql /usr/local/var
# 修改 mysql.server 中 mysql_daemon_user=root → mysql
# 新增資料庫後同步權限
chown -R mysql /usr/local/var/new_db

5. 測試驗證

ps -aux | grep mysql   # 應見 mysqld 進程
mysql -u root -p       # 連線測試

6. 核心 SQL 語法與函數速查

字串常數

單雙引號成對,巢狀引號雙寫轉義:'hi! ""ocp""!' → hi! "ocp"!

數值常數

7 -777 77.77 7.7e2 -7.7e-2

識別符命名規則

  • 可數字開頭、含底線,不可全數字
  • 避免 $ (與 PHP 混淆)、. (保留字元)
  • Alias 最大 256 字元,其餘 64 字元

數學函數

場景關鍵參數/動作
FreeBSD 3.0+--with-named-thread-libs=-lc_r (原生執行緒)
GCC 版本需 ≥ 2.81;gmake ≥ 3.75
記憶體不足./configure --with-low-memory
重新 configurerm config.cache && make clean
安裝前綴--prefix=/usr/local/mysql (預設)
函數說明
ABS(x)絕對值
SIGN(x)正負號 (1/0/-1)
MOD(n,m) / n % m取餘
FLOOR(x)向下取整
CEILING(x)向上取整
ROUND(x[,d])四捨五入
EXP(x)e^x
LOG(x) / LOG10(x)自然/常用對數
POWER(x,y)x^y
SQRT(x)平方根
PI()π
RAND()隨機數 0~1

三角/幾何函數

SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2, COT
DEGREES(rad), RADIANS(deg)
LEAST(val1, val2, ...), GREATEST(val1, val2, ...)

字串函數 (節錄)

LENGTH(str), CHAR_LENGTH(str)
CONCAT(str1, str2, ...)
SUBSTRING(str, pos, len), SUBSTR(str, pos, len)
TRIM([BOTH|LEADING|TRAILING] [remstr] FROM str)
UPPER(str), LOWER(str)
REPLACE(str, from_str, to_str)
LOCATE(substr, str), INSTR(str, substr)
LPAD/RPAD(str, len, padstr)

日期時間函數 (節錄)

NOW(), CURDATE(), CURTIME()
DATE_FORMAT(date, format)
DATE_ADD(date, INTERVAL expr unit), DATE_SUB(...)
DATEDIFF(date1, date2)
UNIX_TIMESTAMP([date]), FROM_UNIXTIME(ts)

掌握安裝部署與核心語法,快速交付可用的 MySQL 生產實例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved