DBA面對新mysql環境

來源:http://blog.csdn.net/wyzxg/article/details/8491152mysql

 

author:skate
time:2013/01/10linux

 

DBA面對新MySQL環境感悟sql

 

1.初識單個mysql服務器
2.初識生產環境mysql架構
3.初識cache層和mysql的關係
4.初識其餘API(如消息隊列)和mysql的關係
5.初識業務和mysql的關係數據庫

 

1.初識單個mysql服務器安全

 

1.1 一個全新的Mysql環境,要基本瞭解mysql版本、os平臺、字符集等信息
mysql> status;
--------------
mysql  Ver 14.12 Distrib 5.0.95, for redhat-Linux-gnu (x86_64) using readline 5.1服務器

Connection id:          25
Current database:       skate
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.5.24-log Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 12 days 13 min 7 sec網絡

Threads: 3  Questions: 2100307  Slow queries: 0  Opens: 47  Flush tables: 1  Open tables: 39  Queries per second avg: 2.024
--------------session

mysql>架構


1.2 瞭解mysql支持哪些存儲引擎
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                                         | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                                      | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                                         | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
6 rows in set (0.00 sec)併發

mysql>

 

1.3 瞭解mysql安裝了哪些插件
mysql> show plugins;
+--------------------------------+--------+--------------------+--------------------+---------+
| Name                           | Status | Type               | Library            | License |
+--------------------------------+--------+--------------------+--------------------+---------+
| binlog                         | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| mysql_native_password          | ACTIVE | AUTHENTICATION     | NULL               | GPL     |
| mysql_old_password             | ACTIVE | AUTHENTICATION     | NULL               | GPL     |
| MEMORY                         | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| MyISAM                         | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| CSV                            | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| MRG_MYISAM                     | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| InnoDB                         | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
......
......
| PERFORMANCE_SCHEMA             | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| partition                      | ACTIVE | STORAGE ENGINE     | NULL               | GPL     |
| rpl_semi_sync_slave            | ACTIVE | REPLICATION        | semisync_slave.so  | GPL     |
| rpl_semi_sync_master           | ACTIVE | REPLICATION        | semisync_master.so | GPL     |
+--------------------------------+--------+--------------------+--------------------+---------+
34 rows in set (0.00 sec)

mysql>

 

1.4 瞭解mysql是單機仍是ndb集羣
mysql> show variables like 'have_ndbcluster';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| have_ndbcluster | NO    | 
+-----------------+-------+
1 row in set (0.00 sec)

mysql>


1.5 瞭解是否配置REPLICATION
mysql> show slave status\G;
mysql> show master status\G;

 

1.6 查看Mysql的日誌模式
mysql> show variables like 'log%';
+---------------------------------+------------------------------------------------+
| Variable_name                   | Value                                          |
+---------------------------------+------------------------------------------------+
| log                             | OFF                                            |
| log_bin                         | ON                                             |
| log_bin_trust_function_creators | OFF                                            |
| log_error                       | /data/mysql/usr/local/mysql/data/localhost.err |
| log_output                      | FILE                                           |
| log_queries_not_using_indexes   | OFF                                            |
| log_slave_updates               | OFF                                            |
| log_slow_admin_statements       | OFF                                            |
| log_slow_filter                 |                                                |
| log_slow_queries                | OFF                                            |
| log_slow_rate_limit             | 1                                              |
| log_slow_rate_type              | session                                        |
| log_slow_slave_statements       | OFF                                            |
| log_slow_sp_statements          | ON                                             |
| log_slow_verbosity              |                                                |
| log_warnings                    | 1                                              |
| log_warnings_suppress           |                                                |
+---------------------------------+------------------------------------------------+
17 rows in set (0.00 sec)

mysql>


1.7 查看Mysql當前有哪些觸發器和存儲過程
mysql> show triggers;
mysql> show procedure status;

mysql> select TABLE_NAME from information_schema.PARTITIONS where PARTITION_NAME is not null;


1.8 有多少用戶擁有超級權限,是否有密碼爲空(ROOT密碼默認爲空),密碼爲空立刻處理
mysql> select * from information_schema.USER_PRIVILEGES where PRIVILEGE_TYPE='SUPER';
+--------------------+---------------+----------------+--------------+
| GRANTEE            | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+--------------------+---------------+----------------+--------------+
'root'@'localhost' | def           | SUPER          | YES          |
'root'@'127.0.0.1' | def           | SUPER          | YES          |
'root'@'::1'       | def           | SUPER          | YES          |
'rep'@'%'          | def           | SUPER          | NO           |
'root'@'%'         | def           | SUPER          | NO           |
'skate'@'%'        | def           | SUPER          | NO           |
+--------------------+---------------+----------------+--------------+
6 rows in set (0.02 sec)

mysql> select host,user,password from mysql.user where password='';
+-----------+------+----------+
| host      | user | password |
+-----------+------+----------+
| 127.0.0.1 | root |          | 
| ::1       | root |          | 
| localhost |      |          | 
+-----------+------+----------+
3 rows in set (0.00 sec)

mysql>

 

1.9 查看數據的存放目錄
mysql> show variables like '%datadir%';
+---------------+-----------------------------------+
| Variable_name | Value                             |
+---------------+-----------------------------------+
| datadir       | /data/mysql/usr/local/mysql/data/ | 
+---------------+-----------------------------------+
1 row in set (0.00 sec)

mysql>

 

1.10 查看重要的內存參數
innodb_buffer_pool_size 
innodb_log_file_size
innodb_log_buffer_size
innodb_log_files_in_group
max_connections
innodb_flush_log_trx_commit
innodb_max_dirty_pages_pct
innodb_flush_method
sync-binlog

 

1.11 執行一會show processlist,看看Mysql能有多少併發,通常都是什麼sql。
1.12 更進一步,Mysql的備份方法和策略是什麼?網絡環境的配置是如何的?
1.13 跑幾個性能分析報告,看看最近系統的運行狀態如何,例如用mysqlreport。

 

os相關信息:

 

1.14 查看機器型號
# dmidecode |grep "Product Name"

 

1.15 查看cpu型號,及邏輯cpu數量
# cat /proc/cpuinfo |grep name| cut -f2 -d: |uniq -c

 

1.16 查看內存大小,存儲大小
free,df

 

相關命令:
mysql> status;
mysql> show engines;
mysql> show plugins;
mysql> show variables like 'have_ndbcluster';
mysql> show slave status\G;
mysql> show master status\G;
mysql> show triggers;
mysql> show procedure status;
mysql> select * from information_schema.USER_PRIVILEGES where PRIVILEGE_TYPE='SUPER';
mysql> select host,user,password from mysql.user where password='';
mysql> show variables like '%datadir%';
mysql> show processlist

# dmidecode |grep "Product Name"
# cat /proc/cpuinfo |grep name| cut -f2 -d: |uniq -c

 

2.初識生產環境mysql架構


mysql單機環境經過我的就能夠大概瞭解數據庫的基本信息,若是數據庫環境比較複雜,以下相關問題就要諮詢相關同窗,若是有
文檔最好。


數據庫如何橫向、縱向的拆分
每一個集羣的容災方式如何
是否有故障隔離
是否有優雅降級
數據庫層是如何自我保護的
監控框架如何
備份框架如何
安全體系如何

 

3.初識cache層和mysql的關係

cache主要用於承載數據庫存儲層的大部分io,那咱們就要對cache有必定的瞭解


那cache層和數據庫存儲層是什麼關係?是應用來保證cache層數據庫新鮮?仍是數據庫主動更新cache層數據?
cache層是用什麼軟件實現的?
cache層失效以後的數據預熱是否對數據庫存儲層有衝擊

 

4.初識其餘API(如消息隊列)和mysql的關係

不一樣的mysql之間(或mysql和其餘組件之間)可能須要數據同步傳輸,這些依賴關係咱們要了解。mysql之間的同步是經過什麼技術?

 

5.初識業務和mysql的關係數據庫的存在的意義就是爲不一樣的業務提供服務,因此要更好的瞭解數據庫,就要了解業務和不一樣數據庫的關係,從下到上,再從上到下,這樣才能更好的作好數據庫管理工做。

相關文章
相關標籤/搜索