mysql基础介绍


Mysql 基础介绍 1、MySQL 介绍: 1.1MySQL 安装方式: 1.1.1RMP MySQL 安装 shell> rpm -i MySQL-server-VERSION.linux_glibc2.5.i386.rpm shell> rpm -i MySQL-client-VERSION.linux_glibc2.5.i386.rpm 1.1.2TAR MySQL 安装 shell> groupadd mysql shell> useradd -r -g mysql mysql shell> cd /usr/local shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz shell> ln -s full-path-to-mysql-VERSION-OS mysql shell> cd mysql shell> chown -R mysql . shell> chgrp -R mysql . shell> scripts/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R mysql data shell> bin/mysqld_safe --user=mysql & # Next command is optional shell> cp support-files/mysql.server /etc/init.d/mysql.server 1.2 安装目录分布及内容分布 1.2.1 配置文件: MySQL 日志读取顺序: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 配置文件结构: [client] … 对所有 mysql 协议的客户端工具生效 [mysql] … 对 mysql 命令行工具生效 [mysqld] … 对 mysqld 进程生效 [mysqldump] 对 mysqldump 命令行工具生效 配置文件内容: 日志类 general_log #记录所有 sql 语句,用于审计,不建议开启 log_error #记录错误信息和启停过程,用户故障定位 log_bin #记录增删改语句,用于复制 slow_query_log #记录慢语句,用于查询分析 audit_log #审计日志,企业版插件 系统类 max_connection character-set-server default_storage_engine socket datadir basedir skip_name_resolve 存储引擎 innodb_flush_method innodb_log_files_in_group innodb_log_file_size innodb_file_per_table innodb_buffer_pool_size innodb_stats_on_metadata 复制 server-id read_only log_slave_updates rpl_semi_sync_master_enabled rpl_semi_sync_master_timeout 配置文件示例: [mysql] prompt = \u@\h [\d]> [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /tmp/mysql.sock port = 3306 basedir = /usr datadir = /var/lib/mysql default_storage_engine = InnoDB character-set-server = utf8 skip_name_resolve lower-case-table-names = 1 back_log = 1024 tmpdir = /dev/shm # INNODB # innodb_data_file_path = /var/lib/mysql innodb_buffer_pool_size = 10G innodb_stats_on_metadata = 0 innodb_flush_method = O_DIRECT innodb_log_files_in_group = 2 innodb_log_file_size = 512M innodb_log_buffer_size = 128M innodb_file_per_table = 1 innodb_max_dirty_pages_pct = 60 innodb_io_capacity = 200 innodb_thread_concurrency = 16 # 5.6/48, 5.5/32 # MyISAM # key_buffer_size = 32M myisam_recover = BACKUP,FORCE # BINARY LOGGING # log_bin = mysql-bin expire_logs_days = 14 sync_binlog = 1 binlog_format = mixed # REPLICATION # server-id = 1 read_only = 0 log_slave_updates = 1 # CACHES AND LIMITS # tmp_table_size = 64M max_heap_table_size = 64M table_open_cache = 1024 query_cache_type = 0 query_cache_size = 0 max_connections = 1000 max_connect_errors = 100000 thread_cache_size = 1024 open_files_limit = 65535 # LOGGING # log_error = mysql-error.log slow_query_log = 1 slow_query_log_file = mysql-slow.log 1.2.2 安装目录: 查看安装目录方法: 1)配置文件中 basedir 参数 2)启动 mysqld 进程中指定的 basedir 参数 3)mysql>show variables like ‘%basedir%’; 常用安装目录文件: 1)配置 MySQL 启动服务文件 $MySQL_Base/support-files/mysql.server 2)初始化 mysql 数据库文件 $MySQL_Base/scripts/mysql_install_db 1.2.3 数据目录: 查看数据目录方法: 1)配置文件中 datadir 参数 2)启动 mysqld 进程中指定的 basedir 参数 3)mysql>show variables like ‘%datadir%’; 常用数据目录文件: InnoDB 的数据文件包括: .frm 表结构文件 ibdataN 系统表空间文件、系统元数据和 undo space .ibd 独立表空间文件(数据目录),表数据和索引 ib_logfile* 重做日志文件,相当于 Oracle 的 Redo Log MyISAM 数据文件 .frm 表结构文件 .MYD 数据文件 .MYI 索引文件 2、基本的操作命令 MySQL 包含以下客户端工具: 1)mysql:最常用的工具执行各种 DDL/DML/DCL 语句 mysql 常见用法: 访问 mysql 数据库 shell> mysql -u -p -h -P [-S ] 执行 SQL 语句 shell> mysql -u -p -e "" 导入 SQL 文件 shell> mysql ... < mysql> SOURCE /usr/stage/world_innodb.sql 查看帮助 mysql> HELP CONTENTS 重定向输出 mysql> tee my_tee_file.txt 命令结束符; \G mysql> SELECT VERSION(); +----------+ | VERSION()| +----------+ | 5.5.8 | +----------+ mysql> SELECT VERSION()\G ********************** 1. row *********************** version(): 5.5.8 1 row in set (0.00 sec) 2)mysqladmin:查看状态管理工具 mysqladmin 常见用法: 查看当前进程 shell> mysqladmin -uroot -poracle processlist 关闭 mysql shell> mysqladmin -uroot -poracle shutdown 动态查看 mysql 状态值 shell> mysqladmin -uroot -poracle -r -i3 ext 3)mysqldump:创建逻辑备份 mysqldump 常见用法: 备份指定库: mysqldump -u$USER -p$PASSWORD -h$HOST -P$PORT --add-drop-database --default- character-set=utf8 -F --master-data=2 --single-transaction --triggers -E -R -B $DBNAME > /tmp/test$DBNAME.txt 只备份某个库的表结构信息: Mysqldump -u$USER -p$PASSWORD -h$HOST -P$PORT –d –B $DBNAME > /tmp/meta$DBNAME.sql 只备份某个库的数据信息 mysqldump -u$USER -p$PASSWORD -h$HOST -P$PORT --default-character-set=utf8 -n -t -F -- master-data=2 --single-transaction --triggers -E -R -B $DBNAME > /tmp/test$DBNAME.txt 4)mysqlcheck:检查数据表一致性 shell> mysqlcheck [options] db_name [tbl_name ...] shell> mysqlcheck [options] --databases db_name ... shell> mysqlcheck [options] --all-databases 3、日志种类、作用、设置方法,日志分析的 的方法 3.1 日志类型: 慢日志 记录超出阈值的慢 SQL SQL 优化的主要数据源 错误日志 记录数据库错误信息和启动信息 分析数据库启动失败的主要手段 查询日志 记录所有访问数据库的 SQL 语句,不建议开启,默认未开启 二进制日志 记录所有写操作语句(INSERT/UPDATE/DELETE/CREATE...) 三种格式(ROW/STATEMENT/MIXD)推荐使用 MIXD 主要用于数据复制 可用来做 Point-in-time 恢复 审计日志(企业版插件) 用于数据库访问安全审计 3.2 日志开启方法: 在 my.cnf 中[mysqld]区域内编辑相关参数: 查询日志: general_log --可以动态调整 general_log_file --可以动态调整 错误日志: log_error --不可以动态调整 二进制日志: log_bin --不可以动态调整 慢日志: slow_query_log --可以动态调整 slow_query_log_file --可以动态调整 审计日志:需要用插件方式加载 audit_log 动态调整日志参数: 查询日志: mysql> set global general_log=1; --开启 mysql> set global general_log=0; --关闭 二进制日志: Mysql>set sql_log_bin=0 --关闭当前会话更新语句计入 binlog Mysql>set sql_log_bin=1 --开启当前会话更新语句计入 binlog 4、使用出问题的分析途径 4.1 解决问题流程 1)冷静处理,不慌张 2)根据现象,初步判断问题可能原因 3)根据初步判断,尝试检查相关状态及日志信息,验证自己初步判断 4)确定问题原因后,判断问题可能给系统带来的影响,做不可逆操作时,首先要备 份数据 5)尝试解决问题,恢复数据等操作(每次做最小的更改,准确定位问题出现位置)。 4.2 解决问题常用的分析手段: 操作系统资源状态检查: top/vmstat/iostat/mpstat 日志信息: 错误日志 慢日志 操作系统日志 进程状态: Ps –ef | grep mysqld MySQL 数据库状态: show processlist show slave status show global status show engine innodb status information_schema & performance_schema show profiler explain SQL 语句; 5、监控的方式方法 5.1mysql 状态检查工具 1)show processlist SHOW [FULL] PROCESSLIST 2)show slave status SHOW SLAVE STATUS 3)show global status SHOW [GLOBAL | SESSION] STATUS [LIKE 'pattern' | WHERE expr] 4)show engine innodb status SHOW ENGINE engine_name {STATUS | MUTEX} 5)information_schema & performance_schema 6)show profiler SHOW PROFILE [type [, type] ... ] [FOR QUERY n] [LIMIT row_count [OFFSET offset]] type: ALL | BLOCK IO | CONTEXT SWITCHES | CPU | IPC | MEMORY | PAGE FAULTS | SOURCE | SWAPS 7)explain SQL 语句: {EXPLAIN | DESCRIBE | DESC} tbl_name [col_name | wild] {EXPLAIN | DESCRIBE | DESC} [explain_type] explainable_stmt explain_type: { EXTENDED | PARTITIONS | FORMAT = format_name } format_name: { TRADITIONAL | JSON } explainable_stmt: { SELECT statement | DELETE statement | INSERT statement | REPLACE statement | UPDATE statement } 5.2zabbix 1)操作系统状态图(cpu,内存,IO,网络) 2)MySQL 系统状态图
还剩22页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

zxsyl

贡献于2017-04-09

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf