MySQL(M39_01)

MariaDB or MySQL:

 

DBMS

RDBMS:关系型数据库管理系统

C/S:通过专有协议

关系模型:表(行,列),二维关系

 

范式:第一范式、第二范式、第三范式;

关系运算:

选择

投影

 

数据库:表,索引,视图(虚表)

SQL: Structure Query Language

DDL, DML

编程接口:

存储过程

存储函数

触发器

事件调度器

过程式编程:选择、循环

 

三层模型:

物理层

逻辑层

视图层

 

解决方案:

Oracle, Sybase, Infomix, DB2

MySQL, MariaDB, PostgreSQL, SQLite

 

MySQL –> 5.1 –> 5.5 –> 5.6 –> 5.7

MariaDB

插件式存储引擎   show engines;

单进程多线程

连接线程

守护线程

 

配置文件:集中式的配置,能够为mysql的各应用程序提供配置信息

[mysqld]

[mysqld_safe]  线程安全的mysql专用的配置信息

[mysqld_multi] 多实例模型的mysql

[server]

[mysql]

[mysqldump]

[client]

 

parameter = value

 

skip-name-resolve

skip_name_resolve

 

查找路径:/etc/my.cnf –> /etc/mysql/my.cnf –> $MYSQL_HOME/my.cnf –> –default-extra-file=/path/to/somedir/my.cnf –> ~/.my.cnf

(越靠后最终生效)

 

 

安装方法:

os vendor: rpm

MySQL:

rpm

展开可用

源码

 

安装后的设定:

(1) 为所有root用户设定密码;

mysql> SET PASSWORD

mysql> update mysql.user SET password=PASSWORD(‘your_pass’) WHERE cluase;

# mysqlamin

 

(2) 删除所有匿名用户

mysql> DROP USER ”@’localhost’;

 

上述两步骤可运行命令:mysql_secure_installation

 

(3) 建议关闭主机名反解功能;

https://www.jb51.net/article/23258.htm

 

元数据数据库:mysql

user, host等;

 

mysql –> mysqld

客户端程序:

mysql: 交互式的CLI工具;

mysqldump: 备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中;

mysqladmin:基于mysql协议管理mysqld;

mysqlimport: 数据导入工具;

非客户端类的管理工具:

myisamchk, myisampack

 

如何获取程序默认使用的配置:

mysql –print-defaults

mysqld –print-defaults

 

客户端类应用程序的可用选项:

-u, –user=

-h, –host=

-p, –passowrd=

-P, –port=

–protocol={tcp|sock}  …….

-S, –socket=

-D, –database=  连入数据库后立即切换这个数据库为默认库。

-C, –compress  连接服务器端时是否把所有数据传输过程做压缩

 

mysql -e “SQL”  不进去,运行MySQL语句

 

mysql的使用模式:

交互式模式:

可运行命令有两类:

客户端命令:

\h, help

服务器端命令:

SQL, 需要语句结束符;

脚本模式:

# mysql -uUSERNAME -hHOST -pPASSWORD < /path/from/somefile.sql

mysql> source /path/from/somefile.sql

 

服务器端(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 @@[session.]system_var_name=value;

 

状态变量:用于保存mysqld运行中的统计数据的变量;

mysql> SHOW GLOBAL STATUS;

mysql> SHOW [SESSION] STATUS;

Author: YJZ

发表评论

电子邮件地址不会被公开。