MySQL5.1體驗--MySQL實例管理器mysqlmanager初試

MySQL實例管理器(IM)是通過TCP/IP端口運行的後台程序,用來監視和管理MySQL數據庫服務器實例。MySQL實例管理器適合Unix-類操作系統和Windows。

可以在mysqld_safe腳本使用MySQL實例管理器來啓動和停止MySQL服務器,甚至可以從一個遠程主機。MySQL實例管理器還執行mysqld_multi腳本的功能(和大多數語法)。

一、 mysqlmanager 配置文件

一個最常見的 mysqlmanager 配置文件如下:

[manager]port= 1999socket= /tmp/manager.sockpid-file= /tmp/manager.pidrun-as-service= truemonitoring-interval= 10default-mysqld-path= /usr/local/mysql/bin/mysqldpassword-file = /etc/mysqlmanager.passwdlog=/usr/local/mysql/bin/mysqld/mysqlmanager.log[mysqld1]basedir = /usr/local/mysqldatadir = /usr/local/mysql/data1general-log= truelog-error= /usr/local/mysql/data1/error.logpid-file= /usr/local/mysql/data1/mysql.pidport = 13306socket= /tmp/mysql13306.sock[mysqld2]basedir = /usr/local/mysqldatadir = /usr/local/mysql/data2general-log= truelog-error= /usr/local/mysql/data2/error.logpid-file= /usr/local/mysql/data2/mysql.pidport = 13307socket= /tmp/mysql13307.sock[mysqld3]basedir = /usr/local/mysqldatadir = /usr/local/mysql/data3general-log= truelog-error= /usr/local/mysql/data3/error.logpid-file= /usr/local/mysql/data3/mysql.pidport = 13308socket= /tmp/mysql13308.sock

首先,第一個區間是 [manager],它用于指定 mysqlmanager 程序啓動時的選項。其中 run-as-service 選項是指 mysqlmanager 以後台守護進程方式運行, default-mysqld-path 選項則指定了 mysqld 程序所在的位置。 password-file 選項則指定了連接到 mysqlmanager 的用戶密碼文件所在位置。

接下來,後面的 [mysqld1], [mysqld2], [mysqld3] 區間則分別設定了3個 MySQL 運行實例。這些參數就是常見的設置了,在這裏不再細說。

二、 mysqlmanager 用戶管理

1、添加用戶

[root@localhost]# /usr/local/mysql/bin/mysqlmanager --add-user --username=yejr[20910/136318976] [07/06/19 11:03:01] [INFO] IM: started.[20910/136318976] [07/06/19 11:03:01] [INFO] Loading config file 'my.cnf'...[20910/136318976] [07/06/19 11:03:01] [INFO] Loading the password database...[20910/136318976] [07/06/19 11:03:01] [INFO] The password database loaded successfully.Enter password:Re-type password:[20910/136318976] [07/06/19 11:03:04] [INFO] IM: finished.[root@localhost]# [root@localhost]# cat /etc/mysqlmanager.passwdyejr:*0E558D9FBD602CDA0C9F3F7A8BC5F4F53401CD7C

2、修改密碼

[root@localhost]# /usr/local/mysql/bin/mysqlmanager --edit-user --username=yejr[20943/136318976] [07/06/19 11:05:01] [INFO] IM: started.[20943/136318976] [07/06/19 11:05:01] [INFO] Loading config file 'my.cnf'...[20943/136318976] [07/06/19 11:05:01] [INFO] Loading the password database...[20943/136318976] [07/06/19 11:05:01] [INFO] Loaded user 'yejr'.[20943/136318976] [07/06/19 11:05:01] [INFO] The password database loaded successfully.Enter password:Re-type password:[20943/136318976] [07/06/19 11:05:05] [INFO] IM: finished.[root@localhost]# [root@localhost]# cat /etc/mysqlmanager.passwdyejr:*9DB91006131E32B22135599033C6A9C196EC3C6B

3、刪除用戶

[root@localhost]# /usr/local/mysql/bin/mysqlmanager --drop-user --username=yejr[20967/136318976] [07/06/19 11:06:30] [INFO] IM: started.[20967/136318976] [07/06/19 11:06:30] [INFO] Loading config file 'my.cnf'...[20967/136318976] [07/06/19 11:06:30] [INFO] Loading the password database...[20967/136318976] [07/06/19 11:06:30] [INFO] Loaded user 'yejr'.[20967/136318976] [07/06/19 11:06:30] [INFO] The password database loaded successfully.[20967/136318976] [07/06/19 11:06:30] [INFO] IM: finished.

默認情況下,mysqlmanager 的密碼文件是 /etc/mysqlmanager.passwd,如果你的密碼文件不是放在這裏,那麽就需要自行指定,增加一個參數 --password-file=path_to_passwd_file,讓 mysqlmanager 根據指定的位置去找到正確的密碼文件。如:

[root@localhost]# /usr/local/mysql/bin/mysqlmanager --password-file=/usr/local/mysql/.mysqlmanager.passwd --add-user --username=yejr

注意:修改或者刪除用戶後,只有重啓 mysqlmanager 才能生效,而不是立刻生效。

三、 mysqlmanager 管理

1、mysqlmanager 啓動

[root@localhost]# /usr/local/mysql/bin/mysqlmanager --defaults-file=/usr/local/mysql/my.cnf[21032/136318976] [07/06/19 11:11:03] [INFO] IM: started.[21032/136318976] [07/06/19 11:11:03] [INFO] Loading config file '/usr/local/mysql/my.cnf'...[21032/136318976] [07/06/19 11:11:03] [INFO] Angel: started.[21032/136318976] [07/06/19 11:11:03] [INFO] Angel: opening log file '/usr/local/mysql/bin/mysqld/mysqlmanager.log'...[21032/136318976] [07/06/19 11:11:03] [INFO] Angel: daemonizing...[21032/136318976] [07/06/19 11:11:03] [INFO] Angel: exiting from the original process...[21032/136318976] [07/06/19 11:11:03] [INFO] IM: finished.[21033/136318976] [07/06/19 11:11:03] [INFO] Angel: preparing standard streams.

在啓動 mysqlmanager 的同時,也會把它管理的所有 MySQL實例 全部啓動。

[root@localhost]# mysql -uyejr -P1999 -hlocalhost -S/tmp/manager.sock -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1 to server version: 1.0-betaType 'help;' or '\h' for help. Type '\c' to clear the buffer.(yejr:localhost:)(none)> SHOW INSTANCES;+---------------+--------+| instance_name | state |+---------------+--------+| mysqld1 | online || mysqld2 | online || mysqld3 | online |+---------------+--------+

2、mysqlmanager 狀態查看

(yejr:localhost:)(none)> SHOW INSTANCE STATUS mysqld1\G*************************** 1. row *************************** instance_name: mysqld1 state: online version_number: 5.1.19 version: 5.1.19-beta for unknown-freebsd6.0 on i386 (MySQL Community Server (GPL))mysqld_compatible: no(yejr:localhost:)(none)> SHOW INSTANCE OPTIONS mysqld1;+---------------+----------------------------------------------+| option_name | value |+---------------+----------------------------------------------+| instance_name | mysqld1 || basedir | /usr/local/mysql || datadir | /usr/local/mysql/data1 || general-log | true || log-error | /usr/local/mysql/data1/error.log || pid-file | /usr/local/mysql/data1/mysql.pid || port | 13306 || socket | /tmp/mysql13306.sock |+---------------+----------------------------------------------+(yejr:localhost:)(none)> SHOW mysqld1 LOG FILES;+-----------+----------------------------------+-----------+| Logfile | Path | File size |+-----------+----------------------------------+-----------+| ERROR LOG | /usr/local/mysql/data1/error.log | 2976 |+-----------+----------------------------------+-----------+(yejr:localhost:)(none)> SHOW mysqld13306 LOG ERROR 2976\G*************************** 1. row ***************************070619 11:17:57 [Warning] Server variable data_file_path of plugin InnoDB was forced to be read-only: string variablewithout update_func and PLUGIN_VAR_MEMALLOC flag070619 11:17:57 [Warning] Server variable data_home_dir of plugin InnoDB was forced to be read-only: string variablewithout update_func and PLUGIN_VAR_MEMALLOC flag070619 11:17:57 [Warning] Server variable flush_method of plugin InnoDB was forced to be read-only: string variablewithout update_func and PLUGIN_VAR_MEMALLOC flag070619 11:17:57 [Warning] Server variable log_arch_dir of plugin InnoDB was forced to be read-only: string variablewithout update_func and PLUGIN_VAR_MEMALLOC flag070619 11:17:57 [Warning] Server variable log_group_home_dir of plugin InnoDB was forced to be read-only: stringvariable without update_func and PLUGIN_VAR_MEMALLOC flag070619 11:17:57 InnoDB: Started; log sequence number 0 48402070619 11:17:57 [Note] Event Scheduler: Loaded 0 events070619 11:17:57 [Note] /usr/local/mysql/bin/mysqld: ready for connections.Version: '5.1.19-beta' socket: '/tmp/mysql13306.sock' port: 13306 MySQL Community Server (GPL)

更多的可操作命令可以參考手冊。

3、mysqlmanager 管理

停止 MySQL實例:

(yejr:localhost:)(none)> STOP INSTANCE mysqld1;Query OK, 0 rows affected (1.81 sec)(yejr:localhost:)(none)> SHOW INSTANCES;+---------------+---------+| instance_name | state |+---------------+---------+| mysqld1 | offline || mysqld2 | online || mysqld3 | online |+---------------+---------+(yejr:localhost:)(none)> START INSTANCE mysqld1;Query OK, 0 rows affected (0.00 sec)Instance started(yejr:localhost:)(none)> SHOW INSTANCES;+---------------+--------+| instance_name | state |+---------------+--------+| mysqld1 | online || mysqld2 | online || mysqld3 | online |+---------------+--------+(yejr:localhost:)(none)> STOP INSTANCE mysqld2;Query OK, 0 rows affected (1.81 sec)(yejr:localhost:)(none)> STOP INSTANCE mysqld3;Query OK, 0 rows affected (1.81 sec)(yejr:localhost:)(none)> SHOW INSTANCES;+---------------+---------+| instance_name | state |+---------------+---------+| mysqld1 | offline || mysqld2 | offline || mysqld3 | offline |+---------------+---------+(yejr:localhost:)(none)> FLUSH INSTANCES;Query OK, 0 rows affected (0.09 sec)(yejr:localhost:)(none)> SHOW INSTANCES;+---------------+--------+| instance_name | state |+---------------+--------+| mysqld1 | online || mysqld2 | online || mysqld3 | online |+---------------+--------+

在 MySQL實例 停止的狀態下,還可以動態的修改端口等參數。

注意: FLUSH INSTANCES 語法會在 MySQL 5.2 以後不再使用。

總結:通過 mysqlmanager 我們就可以遠程來管理 mysqld,包括重啓,查看日志,設定系統參數等。而無需直接登錄服務器或者通過 mysql 客戶端登錄服務器,也進一步保護了 MySQL 賬戶的安全,這在有較多數量的 MySQL 服務器引用環境中還是很有幫助的。

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
MySQL5.1體驗--MySQL分區
  一、概述  相信有很多人經常會問同樣的一個問題:當 MySQL  的總記錄數超過了100萬後,會出現性能的大幅度下降嗎?答案是肯定的,但是性能下降>的比率不一而同,要看系統的架構、應用程序、還有>包 括...查看完整版>>MySQL5.1體驗--MySQL分區
 
MySQL全力准備商務升級近期將推出MySQL5.0
  據外電報道,爲了吸收新公司客戶,MySQL公司計劃在7到10天內推出MySQL數據庫5.0版。目前,該版數據庫正處于最後階段的查錯過程中,MySQL公司産品管理主管Robin Schumacher說。該公司計劃推出一種"公共"版本,通過...查看完整版>>MySQL全力准備商務升級近期將推出MySQL5.0
 
使用實例管理器輕松管理多個MySQL實例
一、MySQL數據庫的實例管理器概述: 1、MySQL數據庫的實例管理器(IM)是通過TCP/IP端口運行的後台程序,用來監視和管理MySQL數據庫服務器實例。 2、假如IM挂了,則所有的實例都會挂掉;假如實例挂了,IM會嘗試重新來啓...查看完整版>>使用實例管理器輕松管理多個MySQL實例
 
MySQL5權威指南(第3版)/數據庫系列/圖靈程序設計叢書(圖靈程序設計叢書)|報價¥59.20|圖書,計算機與互聯網,數據庫,MySQL,科夫勒
目錄:圖書,計算機與互聯網,數據庫,MySQL,品牌:科夫勒基本信息·出版社:人民郵電出版社·頁碼:662 頁碼·出版日:2006年·ISBN:711515337X·條碼:9787115153371·版次:2006年12月第3版·裝幀:平裝·開本:16開...查看完整版>>MySQL5權威指南(第3版)/數據庫系列/圖靈程序設計叢書(圖靈程序設計叢書)|報價¥59.20|圖書,計算機與互聯網,數據庫,MySQL,科夫勒
 
數據從sqlserver導入mysql數據庫的體驗
  第一種是安裝mysql ODBC,利用sql server的導出功能,選擇mysql數據源,進行數據的直接導出,這種方法很簡便,但是針對實際應用有很多弊端,最主要體現就是數據類型問題,首先,sql server數據庫中的ntext,image...查看完整版>>數據從sqlserver導入mysql數據庫的體驗
 
談談數據從sqlserver數據庫導入mysql數據庫的體驗
  因工作需要,要將存放在sql server數據庫中的數據全部導入到mysql數據庫中,在網上搜集相關資料,找到兩種方法,現在分別談談對他們的看法。  第一種是安裝mysql ODBC,利用sql server的導出功能,選擇mysql數...查看完整版>>談談數據從sqlserver數據庫導入mysql數據庫的體驗
 
從SQLserver數據庫導入Mysql數據庫的體驗
  因工作需要,要將存放在sql server數據庫中的數據全部導入到mysql數據庫中,在網上搜集相關資料,找到兩種方法,現在分別談談對他們的看法。  第一種是安裝mysql ODBC,利用sql server的導出功能,選擇mysql數...查看完整版>>從SQLserver數據庫導入Mysql數據庫的體驗
 
實例講解如何利用crontab定時備份MySQL
利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到備份的目的。 1、創建保存備份文件的路徑/mysqldata #mkdir /mysqldata 2、創建/usr/sbin/bakmysql文件 #vi /usr/sbin/bakmysql 輸入 注意:`符號...查看完整版>>實例講解如何利用crontab定時備份MySQL
 
PHP和MySQL分頁顯示實例分析
  Web開發是今後分布式程式開發的主流,通常的web開發都要涉及到與數據庫打交道,客戶端從服務器端讀取通常都是以分頁的形式來顯示,一頁一頁的閱讀起來既方便又美觀。所以說寫分頁程序是web開發的一個重要組成部分...查看完整版>>PHP和MySQL分頁顯示實例分析
 
 
回到王朝網路移動版首頁