数据库
存放数据的仓库。包含很多库,每个库(包含很多表格)。
(关系型)数据库:
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