首页 > 数据库技术 > 详细

数据库

时间:2019-04-29 01:31:47      阅读:153      评论:0      收藏:0      [点我收藏+]

数据库

存放数据的仓库。包含很多库,每个库(包含很多表格)。

(关系型)数据库:
Oracle,MySQL(甲骨文)
MariaDB(社区开源版)

数据库管理员root, 用户信息存放在mysql库中user表格。
系统管理员root,用户信息存放在/etc/passwd。

主配置文件/etc/my.cnf
文件内容:禁止监听,只服务于本机
vim /etc/my.cnf
[mysqld]
skip-networking #跳过网络监听
.. ..
systemctl restart mariadb #重启服务
------------------------------------------------------------------------------------------
一,部署mariadb数据库

1,装包mariadb-server #提供服务端有关的系统程序
2,重启服务,并开机自启 mariadb
------------------------------------------------------------------------------------------
二,为数据库管理员设置密码

1,在Linux系统命令行,为root设置/修改密码
mysqladmin -u root password ‘123‘ #要打全拼password
mysql -u root -p123 #非交互式登陆,p后面没有空格,直接加密码! (交互式登陆, p后面不加密码)
mysqladmin -u root -p123 password ‘321‘ #已知旧密码,修改新密码
旧密码 新密码
-------------------------------------------------------------------------------------------
三,在Linux命令行,下载备份文件

wget http://classroom.example.com/pub/materials/users.sql #wget 默认下载在当前
ls
2,在Linux命令行,导入数据到nsd库
mysql -u root -p123 nsd < users.sql
库名 < 要导入的数据文件
-------------------------------------------------------------------------------------------
四,进行库,表格的操作(表字段,表记录)

exit
create/drop database 库名; #创建/删除某某库
show databases/tables; #显示所有库/某库中所有表格
use 库名; #进入某库
select * from 某个表格; #查询某个表格里的所有字段,适合看小表格
select * from nsd.base; #在当前库,搜索别的库nsd中的表格base

查询内容多的表格:
desc 表名; #查询某个表格的结构
select 表字段 from 表名;

use mysql;
desc user;
select user,host,password from user;

增insert
删delete
改update
查select

有条件的查询: where 表字段=‘值‘
use nsd;
select * from base;
select * from base where name=‘tom‘;
select * from base where name=‘tom‘ and password=‘123‘; #and 二者都要满足。如果换成or,满足其一。
----------------------------------------------------------------------------------------
五,授权

当lisi在localhost进行登陆,输入密码‘123’,将会获得nsd库中所有表的查询权限。
grant select on nsd.* to lisi@localhost identified by ‘123‘;
查询权限 库名.表名 用户@客户机地址 认同,识别 ‘密码’
exit
mysql -u lisi -p123

有多少人的 姓名是 Barbara 同时居住在 Sunnyvale?
use nsd;
select * from base where password=‘solicitous‘; #当*变成name时,代表列出符合条件的name字段。

select * from base,location where base.name=‘Barbara‘ and location.city=‘Sunnyvale‘ and base.id=location.id;
#找出符合的字段。当把*改成count(*),统计符合条件的共有几个人。
如果之前没有进入对应的库的话,还要再表格前面加上库名.

insert nsd.base values (‘6‘,‘Barbara‘,‘123456‘); #在表格中增加新数据
insert 库名.表名 values (‘插入的数据‘,插入的数据‘);
----------------------------------------------------------------------------------------------
六,禁止空密码 root访问数据库

use mysql
select user,host,password from user where password=‘‘;
delete from user where password=‘‘; #删除记录
flush privileges; #刷新所有策略的数据
exit

命令行测试: mysql -u root -h server0.example.com #-h 代表异地登录,后面加上主机名
登陆失败

 

数据库

原文:https://www.cnblogs.com/summer2/p/10787894.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!