Mysql
配置文件:给root用户设置密码:
1:use mysql;
2:select USER,HOST,PASSWORD from user;
设置密码: set password for ‘username’@’host’=PASSWORD(‘password’) ;
设置密码:update 表名 setpassword=PASSWORD(‘密码’)where 条件
条件例子:user=‘root’and host=‘localhost’
设置密码:在root#/usr/local/mysqld/bin/mysqladmin �Cuusername �Chhost or ip �Cp password ‘x新密码’
回车 输入旧密码
删除匿名用户:delete from 表名 where user=‘要删除的表’
Mysql的配置问价:所有的mysql(客户端或者服务器端都是一样)都可以是上面的配置
Vim ~/.my.cnf
[server]: 所有的服务器端
[client]:所有的客户端
定义下:
user = root
host = localhost
password = 密码
注意给的权限是600
Mysql到服务器端
Mysql――――》mysql procotol(tcp)―――》mysqld
里面 �C开头的是命令行选项
配置文件的读取方式:/etc/my.cnfà/etc/mysql/my.cnf->~/.my.cnf
最后读取的生效
查找mysql的相关信息[root@localhost~]# mysql �Cverbose �Chelp
或者在mysql>show variables;
补充windows下
读取方式:%WINDIR/my.ini -> /my.ini
C:/my.ini->/my.ini
客户端通用选项 �Cprocotol# :#是协议例如 tcp udp或者icmp等等
也可以是socket :unix scok :linux专用
Pipe memory :windows专用
-D
例子[root@localhost ~]#mysql �CD mysql
= mysql use mysql
Mysql的客户端
运行方式有两种;批处理模式和交互模式
批处理:mysql< /path/to/file.sql
就是我们自己定义一个文件,在里面定义上自己在数据库里面可以执行的语句,然后重定向到mysql里面执行
交互模式:有两种a/:客户端 b:服务器端
服务器端
Mysql>help
可以使用help查看
Mysqladmin】工具:
获取帮助:mysqld --verbose --help
--option, -option: 命令行选项
Default options are read from the followingfiles in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
--defaults-extra-file=#:额外读取的配置文件;
--defaults-file=#: 仅读取此处指定的配置文件
mysql程序的类别:
服务器端程序:启动并监听于套接字上;mysqld, mysqld_safe, mysqld_multi
客户端程序:可通过mysql协议连入服务器并发出请求的;mysql,mysqlbinlog, mysqladmin, mysqldump等
工具程序:运行于服务器进程所在的主机,实现一些管理或维护操作,myisamchk
客户端程序的通用选项:
-u, --user= username
-u root, -uroot, --user=root
-h, --host=host
-p, --password=密码
--protocol=协议
tcp:
socket: unix sock
pipe:
memory:
--port: 当Protocol是tcp时使用的端口;
--socket: 相当于--protocol socket
其它选项:
-D
--database=
mysql客户端程序:mysql
运行方式有两类:
交互式模式:
批模式:mysql < /path/from/somefile.sql
交互式模式:
命令有两类:
客户端命令:help可列出所有命令
clear, \c:
ego, \G:
go, \g:
delimiter, \d:
quit, exit, \q:
source, \. /path/from/somefile.sql:
相当于mysql < /path/from/somefile.sql
system, \! COMMAND: 运行shell命令
use, \u DB_NAME: 将指定的库设为默认库
服务器端命令:help KEYWORD
SQL语句:
DDL
DML
help KEYWORD
选项:
-e 'SQL语句'
mysql -->mysql protocol (TCP/IP) -->mysqld
mysqladmin工具:
mysqladmin [options] command [arg] [command[arg]] ...
子命令:
create DB_NAME:
mysqldadmin [options] create DB_NAME;
drop DB_NAME:
status:
显示mysqld的简单要状态信息,专用选项
--sleep #: 间隔秒数
--count #: 显示的次数
extend-status: 显示mysqld的所有服务器状态变量
flush-privileges: 刷新授权表,相当于reload命令
flush-hosts: 清除dns缓存及被拒绝的客户端列表缓存
flush-logs: 滚动日志, 二进制日志和中继日志
flush-status: 重置各状态变量
flush-tables: 关闭当前打开的所有的表文件句柄;
flush-treads: 重置线程缓存;
password: 设置密码
ping: 测试服务器是否在线
processlist: 显示当前服务器上的所有线程
refresh: 相当于执行flush-hosts和flush-logs
shutdown: 关闭服务器进程;
start-slave, stop-slave: 启动、关闭从服务器线程;
variables: 显示服务器变量
mysql功能特性补充:
1、命令历史;
2、命令行编辑功能:
Ctrl+a: 快速移动光标至行首
Ctrl+e: 行尾
Ctrl+w: 删除光标之前的单词
Ctrl+u: 删除行首至光标处的所有内容
Ctrl+y: 粘贴使用Ctrl+w或Ctrl+u删除的内容
3、提示符:
mariadb> 等待输入命令
-> 续行
'> 还需要补全后半部单引号
">
`>
mysql有很多图形化的客户端程序:
phpMyAdmin
Navicat for mysql
Toad for mysql
mysql front
sqlyog
Developing:
数据类型
SQL语句
开发DBA:数据库设计(E-R)、SQL语句编写、自定义函数、存储过程、存储函数、触发器、事件调度器
管理DBA:安装、升级服务器程序, 数据备份、恢复, 用户和权限管理, 指标监控、性能分析、基准测试, 语句优化, 数据字典, 按需配置服务器(服务器变量:默认的存储引擎、缓存、日志), 服务器的规模扩展架构设计及实施
SQL语言的组成部分:
DDL
DML
完整性定义语言:DDL
主键、外键、惟一键、条件、非空、事务
视图定义
事务控制
DCL
数据类型的功用:
1、存储的值类型;
2、占据的最大存储空间;
3、定长、变长;
4、如何被索引和排序;
5、是否能够被索引;
数据字典:系统编目(system catalog)
保存了数据库服务器上的元数据
元数据:
关系的名称
每个关系中各字段的名称
各字段的类型和长度
约束
每个关系上的视图的名字及视图的定义
授权的用户名字
用户的授权和帐户信息
统计类数据
每个关系中字段数;
每个关系中行数;
每个关系的存储方法;