Linux高级编程——数据库(安装、创建、删除)

数据库(Database)

存放和管理数据的仓库,用于管理大量或海量数据。

少量数据请使用文件存放和管理,但是对于大量数据,使用数据库将更加方便。

数据库管理系统(Database Management System,DBMS),简称数据库(DB)。

如果不用数据库:Program <---------> File

如果使用数据库:Program <---------> DBMS <--------->File

数据库管理系统分为:

  • 关系型数据库管理系统(Relational Database ,Management System,RDBMS)
  • 非关系型数据库(No-SQL)

典型非关系型数据库:

  • MongoDB
  • Redis

典型关系型数据库产品:

  • 国产:达梦等

  • 大型:Oracle,DB2,SQL Server等(网络型)

  • 中型:MySQL,MariaDBd等(网络型)

  • 小型:Access等(文件型)

  • 微型:SQLited等(文件型)

SQL:Structure Query Language,结构化查询语言。所有关系型数据库都遵守的工业标准,即可以通过 SQL 语句操控所有遵守该标准的数据库。

与数据库相关的工作岗位:数据库管理员(Database Administrator,DBA)

MySQL

库操作

安装配置 MySQL 数据库

sudo apt install mysql-server	# 安装 MySQL 服务器(也会自动装上 MySQL 客户端工具)
sudo mysql_secure_installation	# 设置 root 用户密码
  1. 在本地以 root 用户登录 MySQL服务器。
sudo mysql -uroot -p

先查看 /etc/rc.d/init.d/mysql status 看看m y s q l 是否已经启动.
另外看看是不是权限问题.

启动:/etc/init.d/mysql start

  1. 创建一个项目需要使用的数据库。
CREATE DATABASE mydb DEFAULT CHARSET UTF8; /*创建一个新的数据库,数据库名为 mydb,使用的字符集为 UTF-8 */

DROP DATABASE abc; /*删除名为 abc 的数据库*/
  1. 创建一个普通用户,并将相关数据库的访问权限授予给它(遵守权限最小化原则)。
CREATE USER 'itchenchong'@'localhost' IDENTIFIED BY '12345678'; 
/*创建一个新的用户,用户名为itchenchong,密码为 12345678,该用户只能在本机上登录 MySQL 服务器*/

DROP USER 'itchenchong'@'localhost';
/*删除名为itchenchong的用户*/

GRANT ALL ON mydb.* TO 'itchenchong'@'localhost';	
/*将 mydb 数据库的所有权限授予给 itchenchong 用户(只能在本机登录),ALL可以细化为delete等*/

REVOKE ALL ON mydb.* FROM 'itchenchong'@'localhost';
/*itchenchong用户对mydb库的所有权限收回*/
  1. 刷新权限
FLUSH PRIVILEGES;
  1. 退出 root 用户,后面就以新创建的普通用户登录管理数据库。
mysql -uitchenchong -p

温馨提示:在 SQL 语句中,关键字不区分大小写,通常建议使用全大写形式。一条 SQL 语句必须以英文分号(;)结尾。

查询所有用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

在一个数据库中可以创建若干张数据表(简称表,Table),表就是一个由若干行(Row)和列(Column)构成的二维表格。我们通常将一行称为一条记录(Record),每条记录是由若干个字段(Field)构成。

SQL 分为:

  • DDL:Data Definition Language,数据定义语言,对数据库对象进行创建和管理,比如:CREATE TABLE,CREATE VIEW,DROP TABLE,ALTER TABLE等。
  • DCL:Data Control Language,控制数据的访问权限,比如 GRANT 等。
  • DML:Data Manipulation Language,数据操纵语言,对数据增删改操作,比如 INSERT ,DELETE,UPDATE 等。
  • DQL:Data Query Language,数据查询语言,比如 SELECT 等。
  • TCL:Transaction Control Language,事物控制语言,比如 COMMIT,ROLLBACK 等。

查看SQL密码要求:(根据需要可以修改密码的安全模式policy,默认为1)

SHOW VARIABLES LIKE 'validate_password%';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值