MariaDB的程序组成
客户端程序
服务器端程序
客户端程序:
mysql: 交互式的CLI工具
mysqldump: 备份工具,基于mysql协议向mysqld发起查询请求,并将查询的所有数据转换成insert等写操作语句保存至文本文件中
mysqladmin: 基于mysql协议管理mysqld;
mysqlimport: 数据导入工具
非客户端类的管理工具:
myisamchk, myisampack
如何获取程序默认使用的配置:
mysql --print-defaults
mysqld --print-defaults
客户端类应用程序的可用选项:
-u, --user=
-h, --host=
-p, --password=
-P, --port=
--protocol={tcp|sock}
-S, --socket=
-D, --database=
-C, --compress 连接服务器端时,所有数据的传入传出是否要压缩
命令行交互式客户端:mysql
mysql -uUSERNAME : 用户名;默认为root -hHOST : 服务器主机;默认为localhost -pPASSWORD : 用户的密码;默认为空密码
注意:mysql用户账号由两部分组成,'USERNAME'@'HOST';
其中HOST用来限制此用户可通过哪些主机远程连接mysql服务:
支持使用通配符:
%:匹配任意长度的任意字符
172.16.0.0/16,172.16.%.%
_:匹配任意单个字符
mysql的使用模式:
交互模式:
可运行命令:
客户端命令:本地执行,可以使用help获取到所有的客户端命令
mysql> help //每个命令都有完整格式和简写格式
比如:status, \s
服务器端命令:通过mysql协议发往服务器执行,并取回结果 //每个命令都必须有命令结束符号,默认为分号
mysql> select VERSION();
脚本模式
# mysql -uUSERNAME -pPASSWORD < /path/from/somefile.sql
mysql> source /path/from/somefile.sql
mysql在客户端命令行也可以通过-e选项执行SQL:
# mysql -e 'SQL'
服务器端程序:
mysqld_safe
mysqld
mysqld_multi
服务器监听的两种socket地址
ip socket: 监听在tcp的3306端口,支持远程通信
unix sock:监听在sock文件上(/tmp/mysql.sock,/var/lib/mysql/mysql.sock),仅支持本地通信;如果是这种方式客户端连接服务器端,必须连接的主机地址:localhost, 127.0.0.1
服务器端(mysqld):工作特性有多种定义方式
命令行选项
配置文件参数
获取可用参数列表:# mysqld --help --verbose
获取运行中的mysql进程使用各服务器参数及其值;
mysql> SHOW GLOBAL VARIABLES;
mysql> SHOW [SESSION] VARIABLES;
注意: 其中有些参数支持运行时修改,会立即生效;有些参数不支持,且只能修改配置文件,并重启服务器程序生效;
有些参数作用域是全局的,且不可改变;有些可以为每个用户提供单独的配置;
修改服务器变量的值:
mysql> help SET
全局:
mysql> SET GLOBAL system_var_name=value;
mysql> SET @@global.system_var_name=value;
会话:
mysql> SET [SESSION] system_var_name=value;
mysql> SET @@[sesison.]system_var_name=value;
状态变量:用于保存mysqld运行中的统计数据的变量;
mysql> SHOW GLOBAL STATUS;
mysql> SHOW [SESSION] STATUS;