MySQL数据库
数据库简单的分为两种:
1.关系型数据库-->MySQL和Oracle postgresql
2.非关系型数据库--->Memcached 和 Redis
3.搜索引擎数据库: ElasticSearch
4.时间序列数据库: LnfluxDB
5.列数据库:hbase
6.图形数据库: mongodb
每一个表都会自定义主键。主键会
MySQL的配置文件 /etc/
什么叫作关系型数据库?SQL数据库
数据和数据之间是有关系的。经过关系可以将一些列数据都提取出来。
所谓关系类型:就是由于数据库的数据之间存在关联关系,所以才成为关系型数据库。关系型数据库能够经过一条数据关联出一堆数据,如此一来,方便数据的检索和查询,提升开发人员的查询效率,可是会拖累数据库美因茨关系型数据可不支持过高并发。
射门么是非关系型数据库?NoSQL数据库
关系型数据库MySQL和Oracle有什么区别?
其实,这两类数据库在使用方式上,答题是没有太多区别的。都是局域SQL查询方式的数据库。可是Oracle是闭源的,也就是收钱的,收了钱天然就好办事,除了问题,有人管。所以,运维并不须要花太多精力在Oracle上。要学,去企业学。
MySQL呢? 是开源的,免费用的,免费的东西天然是须要咱们运维来维护的,可是永昌来讲,真正的数据库维护人员的职位叫作DBA=database administrator,它并非普遍意义上的运维,只是数据库专业运维,对于普遍意义上的韵味维护人员来讲,咱们在2万薪资一下只须要简单了解MySQL.
市面上还有一种数据库,关系型的,叫作MariaDB,它和MySQL有什么关系呢?
MySQL数据库最先是开源的,固然如今也是开源的。可是,MySQL已经被Oracle公司==>SUN,被它收购了
那么,MySQL运维社区的人,为了防止SUN公司对MySQL进行闭源操做,他们自主在MySQL最后一个开源版本的基础上,开发出来一个分支数据库,叫作MariaDB其实,它和MtSQL是几乎同样的。所以,之后遇到这个数据库没关系张,
B/S架构模式与C/S架构模式的区别?
B/S ==> Web/Server
用户经过Web浏览器打开输入域名就能访问服务器Server的方式叫作B/S用户不须要安装任何东西
C/S==> Client/Server
所谓客户端Client在用户的电脑里是须要下载并安装的。
编译安装 MySQL
安装 ncurses-devel 与 cmake 包
yum -y install ncurses-devel 安装支持包
tar xf cmake-2.8.6.tar.gz -C /usr/src/ 解包
cd /usr/src/cmake-2.8.6/ 进入目录
yum -y install gcc gcc-c++ make autoconf 安装cmake
./configure && gmake && gmake install 编译
编译MySQL
tar xf mysql-5.5.22.tar.gz -C /usr/src/ 解包
cd usr/src/mysql-5.5.22/ 进目录
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && make && make install
---------------->>><<<----------------
MySQL目录
my.cnf 配置文件相关介绍,在 mysql 解压路径 support-files/下提供的模板
路径: /usr/local/mysql/support-lifes/my-*
my-huge.conf 巨大数据量
my-innodb-heavy-4G.cnf innodb 引擎
my-large.cnf 大数据量
my-medium.cnf 测试使用
my-small.cnf 小数据量
建立修改 my.cnf配置文件模板: /bin/cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
复制启动脚本:/bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
加入开机启动: chkconfig mysql --add
chkconfig mysql --list
添加到环境变量里:echo "export PATH=$PATH:/usr/local/mysql/bin* " >> /etc/profile
执行 mysql_install_db 脚本初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
启动 MySQL 服务,并查看运行状态
/etc/init.d/mysql start
MySQL帐号由两部分组成
帐户名@登陆IP
mysql -u 指定登陆帐号
-p 指定密码(不写就是空密码登陆)
-h 指定主机(指定IP)
-p 指定端口
给MySQL设置密码
mysqladmin -uroot password '000000'
show 查看 databases; 看小库
show grants for ''@''; 查单独用户
show grants 默认看当前用户
use mysql 将对象设定成 mysql这个小库
show tables; 查看该库的表
create database yunjisuan; 建立一个叫yunjisuan的库
库的本质就是子目录
drop database yunjisuan; 删除一个叫作yunjisuan的库
create table users (user_name char(20) not null,user_passwd char(30) default' ',primary key (user_name)); =====> 建立一个表
create ===> 建立
drop ===> 删除
use ===>切换库
show ===>查看
以上为 管理命令
select ===> 读
select 字段名 from 空间名.表名
\G 把横向数据变成竖着的
四种对表数据进行操做的SQL语句
增:insert into 表名[字段名] values 具体数值
例: insert into uses values ('xiaohong','000000');
删:delete 表名 where 条件
例:delete from uses where user_name='baibai'
改:update 表名 set 字段=‘数值’
例:update uses set user_passwd='666666' where user_name='baibai'
查:select 字段名 from 表名
例:select * from uses;
小库其实就是data目录下的子目录,开发小库叫作空间,小库的名字叫作空间名,空间名,表名
flush privileges; ===> 刷新,当即生效
desc yunjisuan,users; 查看表结构
insert into 空间名.表名(字段名1,字段2)values('值1','值2')
insert into yunjisuan.users(user_name,user_passwd) values ('小红',‘66666’);
update 空间名.表名 set 字段名='值' ====> 更新
update yunjisuan.users set user_passwd='888' wbere user name='田小绿' ;
delete from yunjisuan.users where user_name='田小绿' 删除
update mysql.user set password=password('123123') where user='root'; 修改 MySQL登陆 root帐户 密码为 123123
用户权限 grand
mysql的帐号分为两部分
一个是用户名,一个是登陆IP '用户名'@'登陆IP'
show grants 看当前用户的权限
show grants for 'yunjisuan'@'xxx.xxx.xxx.xxx' 查其余用户的权限
建立帐号:grant all no *.* to 'root@192.168.127.135' IDENTIFIED BY '123123'
all===> 指的是全部查看的类型 好比 select、delete、update、insert 等等
*.* ===>第一个*指的全部的库第二个*指的是全部的表
to===> 将to 前面全部的库全部的表的all权限附给to后面这个帐号
撤销用户权限
revoke select on mysql.user from ' '@' ';
MySQL 通配符
_ : 任意单个字符
%:任意长度的任意字符
例: grant all on *.* to 'yunjisuan'@'%' identified by '123123'; 表明任何IP 均可登录
数据索引的分类
1.普通索引:这是最基本的索引类型,并且没有惟一性之类的限制
2.惟一性索引:与普通索引基本相同,区别在于:因所列的全部值都只能出现一次,即必须为一,但可为空。
3.主键:是一种特殊的索引,必须指定为“PRIMARY KEY”,具备惟一性的同时不能为空
4.全文索引:MySQL从 3.23.23版本开始支持全文索引和全文检索。在MySQL中,全文索引的类型为FULLTEXT,全文索引能够在VARCHAR或者TEXT类型的列上建立。贴吧的文本内容,和一些小型的网站网页内容,存放在数据库中即为全文索引模式。
5.单列索引与多列索引:索引能够是但裂伤建立索引,也能够是多列上建立的索引。
事物的ACID特色
事物具备四个属性:ACID
原子性(Atomicity)
一致性(Consistency)
隔离性(lsolation)
持久性(Durability)