<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • mysql啟動命令(啟動數據庫命令mysql)


    MySQL的配置信息可以通過兩種方式實現,一種是命令行形式,在啟動MySQL服務時后邊帶上相關配置參數,此種方式會在MySQL重啟后失效。另外一種是通過寫入配置文件,如my.cnf,啟動或者重啟MySQL服務都會生效,此種方式是永久生效。

    啟動選項

    命令行

    在MySQL服務命令啟動時,帶上配置參數

    命令格式:
    啟動命令 --啟動選項1[=值1] --啟動選項2[=值2] ... --啟動選項n[=值n]
    例如:
    mysqld --default-storage-engine=MyISAM //設置默認存儲引擎
    錯誤例子:
    mysqld --default-storage-engine = MyISAM //設置默認存儲引擎
    原因:
    因為啟動項和值之間的等號不能有空格

    參數的長形式和短形式

    配置參數有長形式和短形式之分,有些作用是一樣的,只是寫法不同而已

    --host => -h //主機
    --port => -P // 端口
    --user => -u //用戶
    --password => -p //密碼
    --version => -V //版本
    ......
    例子:
    mysqld --port=3306
    mysqld -P3306
    mysqld -P 3306
    注意:
    密碼不能有空格
    mysqld -proot

    配置文件

    配置文件my.cnf的位置,有可能是以下的幾種,如MySQL服務啟動時未指定配置文件時,會從以下地方查找讀取并初始化。

    * /etc/my.cnf 
    * /etc/mysql/my.cnf
    * defaults-extra-file //指定的額外配置文件路徑
    * SYSCONFDIR/my.cnf //cmake編譯安裝情況
    * $MYSQL_HOME/my.cnf //設置環境變量,默認安裝路徑
    * ~/.my.cnf  //用戶特定選項,家目錄
    * ~/.mylogin.cnf //用戶特定的登錄路徑選項(僅限客戶端),mysql_config_editor修改,不是純文件
    注意
    1. 在配置文件中指定的啟動選項不允許加--前綴,并且每行只指定一個選項,而且=周圍可以有空白字符
    2. 如果我們在多個配置文件中設置了相同的啟動選項,那以最后一個配置文件中的為準
    3. 如果同一個啟動選項既出現在命令行中,又出現在配置文件中,那么以命令行中的啟動選項為準
    4. mysqld --defaults-file=/tmp/myconfig.txt  
    //在程序啟動的時候將只在/tmp/myconfig.txt路徑下搜索配置文件。如果文件不存在或無法訪問,則會發生錯誤

    配置組

    配置文件一共可以以下這些組別:mysqld、mysqld_safe、mysql.server、mysql、mysqladmin、mysqldump,可以針對不同組別進行配置

    MySQL的啟動選項和系統變量該如何配置?
    內容格式
    [server]
    (具體的啟動選項...)
    [mysqld]
    (具體的啟動選項...)
    [mysqld_safe]
    (具體的啟動選項...)
    [client]
    (具體的啟動選項...)
    [mysql]
    (具體的啟動選項...)
    [mysqladmin]
    (具體的啟動選項...)
    例子:
    

    [mysqld]

    pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql log-error = /var/log/mysql/error.log # 優化配置 wait_timeout=10 back_log=600 key_buffer_size = 2048M read_buffer_size = 100M max_allowed_packet = 1000M thread_stack = 192K thread_cache_size = 4 myisam-recover-options = BACKUP max_connections = 4000 max_user_connections = 0 max_connect_errors = 65535 open_files_limit = 10240 ……

    注意
    1. [server]組下邊的啟動選項將作用于所有的服務器程序,如mysqld、mysqld_safe、mysql.server
    2. [client]組下邊的啟動選項將作用于所有的客戶端程序,如mysql、mysqladmin、mysqldump
    3. 同一個配置文件中多個組的優先級,將以最后一個出現的組中的啟動選項為準

    系統變量

    MySQL服務器程序運行過程中會用到許多影響程序行為的變量,它們被稱為MySQL系統變量。

    例如:
    1. 允許同時連入的客戶端數量用系統變量max_connections表示
    2. 表的默認存儲引擎用系統變量default_storage_engine表示
    3. 查詢緩存的大小用系統變量query_cache_size表示
    ......

    查看

    格式:
    SHOW VARIABLES [LIKE 匹配的模式];
    例如:
    SHOW VARIABLES LIKE 'default_storage_engine';
    MySQL的啟動選項和系統變量該如何配置?

    設置

    通過啟動項設置

    命令行設置
    mysqld --default-storage-engine=MyISAM --max-connections=10
    配置文件設置
    [mysqld]
    default-storage-engine = MyISAM
    max-connections = 10
    ......
    注意:
    對于啟動選項來說,如果啟動選項名由多個單詞組成,各個單詞之間用短劃線-或者下劃線_連接起來都可以,但是它對應的系統變量的單詞之間必須使用下劃線_連接起來(即通過show查看或set設置時)

    服務器程序運行過程中設置

    系統變量比較牛逼的一點就是,對于大部分系統變量來說,它們的值可以在服務器程序運行過程中進行動態修改而無需停止并重啟服務器

    不過系統變量有全局和當前會話作用域之分

    作用域

    GLOBAL:全局變量,影響服務器的整體操作。
    SESSION:會話變量,影響某個客戶端連接的操作。(別名叫LOCAL)
    格式:
    1. SET [GLOBAL|SESSION] 系統變量名 = 值;
    2. SET [@@(GLOBAL|SESSION).]var_name = XXX;
    global
    例如:
    1. SET GLOBAL default_storage_engine = InnoDB;
    2. SET @@GLOBAL.default_storage_engine = InnoDB;
    session
    例如:
    1. SET SESSION default_storage_engine = InnoDB;
    2. SET @@SESSION.default_storage_engine = InnoDB;
    3. SET default_storage_engine = InnoDB;//默認 session
    查看
    格式:SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];
    1. SHOW SESSION VARIABLES LIKE 'default_storage_engine';
    2. SHOW GLOBAL VARIABLES LIKE 'default_storage_engine';

    注意:如果某個客戶端改變了某個系統變量在GLOBAL作用范圍的值,并不會影響該系統變量在當前已經連接的客戶端作用范圍為SESSION的值,只會影響后續連入的客戶端在作用范圍為SESSION的值。

    補充說明
    并不是所有系統變量都具有GLOBAL和SESSION的作用范圍
    * 有一些系統變量只具有GLOBAL作用范圍,比方說max_connections,表示服務器程序支持同時最多有多少個客戶端程序進行連接
    * 有一些系統變量只具有SESSION作用范圍,比如insert_id,表示在對某個包含AUTO_INCREMENT列的表進行插入時,該列初始的值
    * 有一些系統變量的值既具有GLOBAL作用范圍,也具有SESSION作用范圍,比如我們前邊用到的default_storage_engine,而且其實大部分的系統變量都是這樣的
    有些系統變量是只讀的,并不能設置值
    比方說version,表示當前MySQL的版本,我們客戶端是不能設置它的值的,只能在SHOW VARIABLES語句里查看。
    啟動選項與系統變量的關系

    啟動選項是在程序啟動時我們程序員傳遞的一些參數,而系統變量是影響服務器程序運行行為的變量

    * 大部分的系統變量都可以被當作啟動選項傳入
    * 有些系統變量是在程序運行過程中自動生成的,是不可以當作啟動選項來設置,比如auto_increment_offset、character_set_client啥的
    * 有些啟動選項也不是系統變量,比如defaults-file

    狀態變量

    為了讓我們更好的了解服務器程序的運行情況,MySQL服務器程序中維護了好多關于程序運行狀態的變量,它們被稱為狀態變量。

    比方說Threads_connected表示當前有多少客戶端與服務器建立了連接,Handler_update表示已經更新了多少行記錄

    由于狀態變量是用來顯示服務器程序運行狀況的,所以它們的值只能由服務器程序自己來設置,我們程序員是不能設置的

    查看

    格式:
    SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式];
    例如:
    SHOW STATUS LIKE 'thread%';
    MySQL的啟動選項和系統變量該如何配置?

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费