天天看點

Mysql設定環境變量和mysqld簡介

文章目錄

      • 設定環境變量
      • mysqld - The MySQL Server
      • 參考文檔

設定環境變量

    可以在指令提示符處設定環境變量以影響指令處理器的目前調用,也可以永久設定環境變量以影響以後的調用。要永久設定變量,您可以在啟動檔案中設定它,也可以使用系統提供的接口來設定它。

    要為環境變量指定值,請使用适合您的指令處理器的文法。Unix上的文法取決于您的shell。假設您要使用MYSQL_TCP_PORT變量指定TCP/IP端口号 。典型文法(例如sh,ksh, bash,zsh等)如下:

MYSQL_TCP_PORT=3306
export MYSQL_TCP_PORT
           

    第一個指令設定變量,export指令将變量導出到shell環境,以便MySQL和其他程序可以通路其值。

    對于csh和tcsh,使用setenv使shell變量用于環境:

setenv MYSQL_TCP_PORT 3306
           

    可以在指令提示符處執行設定環境變量的指令,以立即生效。但是設定僅在您登出之前存在。要使設定在每次登入時生效,請使用系統提供的接口,或将适當的一個或多個指令放在啟動檔案中,指令解釋程式每次啟動時都會讀取該檔案。

    在Unix上,bash環境下,典型的shell啟動檔案為 .bashrc 或 .bash_profile,tcsh環境下是 .tcshrc。

    假設您的MySQL程式已安裝在 /usr/local/mysql/bin 中,并且您想使其易于調用。為此,請設定PATH環境變量以包含該目錄。例如,如果你使用的shell是bash,将以下行添加到 .bashrc 檔案中:

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

    bash對登入shell和非登入shell(nonlogin shell)使用不同的啟動檔案,是以您可能需要将登入shell的設定添加到 .bashrc,非登入shell的設定添加到 .bash_profile,以確定PATH設定萬無一失。

    如果您的shell是 tcsh,則将以下行添加到 .tcshrc 檔案中:

setenv PATH ${PATH}:/usr/local/mysql/bin
           

    如果在您的家目錄中不存在相應的啟動檔案,則使用文本編輯器建立它。

    修改PATH設定後,在Unix上再次登入,以使設定生效。

mysqld - The MySQL Server

    mysqld,也稱為MySQL Server,是在MySQL安裝中完成大部分工作的主程式。MySQL Server管理對包含資料庫和表的MySQL資料目錄的通路。資料目錄也是其他資訊(例如日志檔案和狀态檔案)的預設位置。

    MySQL伺服器啟動時,它将偵聽來自用戶端程式的網絡連接配接,并代表這些用戶端管理對資料庫的通路。

    mysqld程式在啟動時可以指定許多選項。有關選項的完整清單,請運作以下指令:

shell> mysqld --verbose --help
           

    MySQL Server還具有一組系統變量,這些變量會在運作時影響其操作。可以在伺服器啟動時設定系統變量,并且可以在運作時更改許多系統變量以修改伺服器的動态配置。MySQL Server還具有一組狀态變量,這些變量提供有關其操作的資訊。您可以監視這些狀态變量以通路運作時性能特征。

示例

    平時都是使用systemd或者/etc/init.d/mysqld.server腳本啟動,可以直接使用mysqld啟動資料庫。假設mysqld位于 /usr/local/mysql/bin目錄下,請確定 /etc/my.cnf 目錄存在 user=mysql的配置,否則會報錯:

[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
           

    在shell環境下直接運作即可:

# /usr/local/mysql/bin/mysqld &
[1] 3458
           

    嘗試登陸成功:

# mysql -S /usr/local/mysql/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 
           

    今天有點疲勞,産出的含金量不足了。不過起碼每天有進步就ok了。寫文章隻是為了自己學習,不是為了擷取别人的關注,如果能偶爾幫助到别人,那就可以了。

Mysql設定環境變量和mysqld簡介

參考文檔

https://dev.mysql.com/doc/refman/5.7/en/setting-environment-variables.html