五花八门的mysql管理工具
<>mysql提供的命令行工具
mysql_install_db:mysql建库工具,在源码安装mysql环节我们使用过。
mysql_safe:mysql启动工具
mysqld:mysql主进程,mysql_safe也是调用mysqld进程。启动关闭数据库、查询或修改数据、执行各项维护操作等实际上都是基于mysqld进程的操作。
系统参数:mysql服务启动时的参数
系统变量:mysql服务运行时参数。比如查看与log相关的系统变量使用show global variables like 'log%';系统变量有些可以动态调整而不需要重启mysql,有些则不行。
比如修改mysql数据库认到二进制日志格式为row格式。那么直接修改系统变量set global binlog_format=row;
使用show global variables like 'binlog_format';查看系统变量是否修改。系统变量又分为全局(global)和会话(session)。无论全局还是会话级在下次mysql服务重启后设定就失效,只有在初始化文件中添加才能永久生效。
状态变量:状态变量记录mysql服务的系统状态。状态变量也分为全局和会话,前者记录的是整个mysql服务的状态,而后者只代表当前会话的状态。查看mysql的状态变量:show global status;
系统参数和系统变量之间并不是完全一比一关系,完全存在有参数但没变量,或者有变量却不存在对应参数的情况。

<>mysqld_multi:mysql多实例管理工具需要在my.cnf添加不同的mysqld区块。使用mysqld_multi --example可以参考。这个命令专用于单个服务器上运行多个mysql实例的场景
启动[mysqld34]这个区块:mysqld_multi start 34;
停止[mysqld6] [mysqld7] [mysqld8]三个区块:mysqld_multi stop 6-8;

<>mysql命令
--auto-rehash:按Tab键补全命令
--default-character-set:用于指定连接会话的字符集
-e,--execute:mysql命令支持两种操作方式,交互式和非交互式。交互式就是引入到mysql命令提示符下执行的操作,非交互式执行mysql命令时,直接指定要执行的语句。比如:
[mysql@linux02 scripts]$ mysql -usystem -poralinux -S /mysql/conf/mysql.sock -e "show slave status\G"
Warning: Using a password on the command line interface can be insecure.
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.6
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000024
...
...
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0

-f,--force:在非交互模式批量执行sql语句(或执行一个包含sql语句的文件)时如果要执行的某条sql语句有错误,那么默认情况下改条语句后面所有语句都不会再被执行。例如:
[mysql@linux02 scripts]$ mysql -usystem -poralinux -S /mysql/conf/mysql.sock -e "drop table aa.bbccdd;show slave status\G"
Warning: Using a password on the command line interface can be insecure.
ERROR 1051 (42S02) at line 1: Unknown table 'aa.bbccdd'
上来就报有未知的表对象,后面那个查看slave状态的语句就不执行了。有时候我们希望错误的信息被自动忽略继续执行后面的语句,这时候-f参数就派上用场了。
[mysql@linux02 scripts]$ mysql -usystem -poralinux -S /mysql/conf/mysql.sock -e "drop table aa.bbccdd;show slave status\G" -f
Warning: Using a password on the command line interface can be insecure.
ERROR 1051 (42S02) at line 1: Unknown table 'aa.bbccdd'
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.6
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000024
Read_Master_Log_Pos: 120
Relay_Log_File: mysql-relay-bin.000011
...
...
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0

--show-warings:执行完语句后马上显示警告信息,相当于执行完sql语句后要自动执行show warings;语句

system@(none)>help

For information about MySQL products and services, visit:
http://www.mysql.com/
For developer information, including the MySQL Reference Manual, visit:
http://dev.mysql.com/
To buy MySQL Enterprise support, training, or other products, visit:
https://shop.mysql.com/

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

For server side help, type 'help contents'

pager是mysql命令行模式中的管道符。
pager more可以分屏显示。pager后面跟的是操作系统命令,可以根据需求换成任何其他命令。nopager取消

prompt修改当前命令行提示符
status特别关注最后两行
tee类似oracle中的spool

<>mysqladmin管理工具
常用参数:
-i,--sleep=#:建个指定时间后,再次重复调用本mysqladmin命令
-r,--relative:当与-i参数联合使用并且指定了extended-status命令时,显示本次与上次之间各状态值之间的差异。
常用命令:
1、create dbname:mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock create testdb
2、drop dbname:mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock drop testdb
3、extended-status:查看服务端状态信息,跟在mysql命令行模式下执行show global status的功能一样:
mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock extended-status
4、flush-hosts:刷新缓存信息
5、flush-logs:刷新日志
6、flush-status:重置状态变量
7、flush-tables:刷新所有表
8、flush-privilege:重新加载授权表,功能与reload命令完全相同
9、reload
10、refresh:刷新所有表并切换日志文件
11、password [new-password]:修改指定用户的密码,功能与set password语句完全相同。
12、old-password [new-password]:修改指定用户密码,只是按照旧的格式修改
12、ping:检查当前mysql服务是的仍能正常提供服务。
mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock ping
13、debug:输出当前mysql服务的调试信息到error.log文件中,某些情况下性能分析或故障排查非常实用。
14、kill id、id、...:杀掉连接至mysql服务的线程,功能与kill id语句完全相同
15、processlist:查看当前mysql服务所用的连接线程信息,功能完全等同于show processlist;语句
16、shutdown:关闭数据库服务
17、status:查看当前mysql的状态
[mysql@linux02 ~]$ mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock status
Warning: Using a password on the command line interface can be insecure.
mysqladmin: Unknown OS character set 'GB18030'.
mysqladmin: Switching to the default character set 'utf8'.
Uptime: 3684 Threads: 3 Questions: 60 Slow queries: 0 Opens: 82 Flush tables: 1 Open tables: 75 Queries per second avg: 0.016
下面几个可以作为监控指标:
Uptime:mysql服务启动时间
Thread:当前连接的会话数
Questions:自mysql服务启动后执行查询语句数量
Slow queries:慢查询语句数量
Opens:当前处于打开状态的表对象的数量
Flush tables:执行过flush-*、refresh、reload命令的数量
Open tables:当前会话打开的表对象的数量
Queries per second avg:查询的执行频率
start-salve
stop-slave
variables:显示系统变量功能与show global variables;语句完全相同
version,查看版本信息同时还包括status命令的信息

每隔一秒输出当前mysql服务的状态信息
mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock -i 1 status
每秒执行查询的数量
mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock -i 1 -r extended-status |grep -e "Com_select"

<>PHPMyAdmin
XAMPP:对Mysql、Perl、PHP封装各种相关的软件包,以及phpMyAdmin,下载地址:http://www.apachefriends.org/zh_cn/xampp.html
1、解压: tar -xvfz xampp-linux -C /opt
2、vi /opt/lampp/etc/extra/httpd-xampp.conf
在/opt/lampp/phpmyadmin标签中(16-19行之间)增加一行:Require all granted。
将LocationMatch标签中的第62行:Deny from all改为Allow from all 使其他服务器也能访问phpmyadmin
3、启动服务:/opt/lampp/lampp start
4、通过浏览器访问

<>Mysql Workbench
<>第三方管理工具:Sqlyog和Navicat

涂抹mysql笔记-mysql管理工具的更多相关文章

  1. 常用MySQL图形化管理工具

    MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考. MySQL是一个非常流行的小型关系型数据 ...

  2. 涂抹mysql笔记-mysql性能调优和诊断

    <>关键性指标1.IOPS(Input/Output operations Per Second)每秒处理的I/O请求次数:需要说明的一点,通常提到磁盘读写能力,比如形容它每秒读300M写 ...

  3. 涂抹mysql笔记-mysql复制特性

    <>mysql复制特性:既可以实现整个服务(all databases)级别的复制,也可以只复制某个数据库或某个数据库中的某个指定的表对象.即可以实现A复制到B(主从单向复制),B再复制到 ...

  4. 涂抹mysql笔记-mysql数据库文件结构

    <>初始化选项文件:默认位置:windows平台 windir\my.ini windir可通过echo $WINDIR$查看 系统盘的根目录即:c:\my.ini installdir\ ...

  5. iOS核心笔记—源代码管理工具-GIT

    源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...

  6. iOS核心笔记—源代码管理工具-SVN

    源代码管理工具-SVN 一. 源代码管理工具概述 1. 源代码管理工具的作用? > 能追踪一个项目从诞生一直到定案的过程 > 记录一个项目的所有内容变化,无限制返回 > 查看特定版本 ...

  7. MySQL图形化管理工具

    PHPMyAdmin(关于web界面的) Navicat MySQL Workbench

  8. 涂抹mysql笔记-mysql字符集

    字符集:查看mysql数据库当前都支持哪些字符集:system@(none)>show character set;+----------+--------------------------- ...

  9. mysql图形化管理工具workbench下载安装以及基本使用

    1.下载安装 去mysql官网下载地址进行下载安装 2. 创建schema和表格等基本操作 (1)连接数据库 打开workbench,操作如下: ps:正常需要输入mysql的密码的,但是我之前保存了 ...

随机推荐

  1. vue2.0 实现富文本编辑器功能

    前端富文本编译器使用总结: UEditor:百度前端的开源项目,功能强大,基于 jQuery,但已经没有再维护,而且限定了后端代码,修改起来比较费劲 bootstrap-wysiwyg:微型,易用,小 ...

  2. LSTM如何解决梯度消失或爆炸的?

    from:https://zhuanlan.zhihu.com/p/44163528 哪些问题? 梯度消失会导致我们的神经网络中前面层的网络权重无法得到更新,也就停止了学习. 梯度爆炸会使得学习不稳定 ...

  3. wishhack 玩法概览

    抢流量玩法 超级店长玩法 https://www.wishhack.com/article/50.html https://www.wishhack.com/article/43.html

  4. 演示stop暴力停止线程导致数据不一致的问题,但是有些有趣的发现 (2017-07-03 21:25)

    如注释所言 /** * Created by weiwei22 on 17/7/3. * * 这里主要是为了演示stop导致的数据不一致的问题.stop会暴力的结束线程并释放锁,所以有可能在恰好写了一 ...

  5. html/css杂题

    1.css选择器:详细(http://www.ruanyifeng.com/blog/2009/03/css_selectors.html) 派生选择器:按标签 类别选择器:按class ID选择器: ...

  6. Linux过滤错误日志

    grep -E 'at |Exception|exception|Error|error|Caused by' test.log

  7. cocoa pods自己的笔记

    备注:这里只是个人的观点,有的地方也是copy,多多指教,个人笔记,有侵犯你们版权的地方还望海涵!!! 卡主不动 安装流程:http://www.tuicool.com/articles/qaMfuy ...

  8. Problem B: 类的初体验(II)

    Description 定义一个类Data,只有一个double类型的属性和如下3个方法: 1.   带1个参数的构造函数——初始化属性值为参数值. 2.   double getValue()——获 ...

  9. ARTS(一)

    ARTS第一周,2019年3月17日,星期日,天气晴. A:算法学习(Algorithm) 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LE ...

  10. How to create your iOS team provisioning profile ?

    From Apple Developer: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppS ...