linux—数据库的基本管理

#数据库基本概念

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十 年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行 海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

常用的数据库软件:

oracle按核心收钱,但是稳定性较高,不可定制

mysql开源免费的,有一个重要分支mariadb,和mysql是完全兼容的

一.安装

yum install mariadb-server -y             ---安装数据库软件


systemctl start mariadb               ---开启数据库服务


二.数据库初始化

1.关闭网络接口

默认情况下,数据库的网络接口是开启状态,为了提高安全性,需要关闭此接口
netstat -antlupe | grep mysql    ---查看数据库的网络接口状态


vim /etc/my.cnf
 10 skip-networking=1                ---关闭数据库的网络接口

systemctl restart mariadb.service
netstat -antlupe | grep mysql            ---此时再查看,数据库的网络接口关闭

2.初始化设定

数据库起始状态设定信息不安全,需要进行以下设定
mysql_secure_installation
 Enter current password for root (enter for none):        ---输入当前的密码,第一次设置直接回车跳过
 Set root password? [Y/n] y            ---确认设置root密码
 New password:                      
 Re-enter new password:  


 Remove anonymous users? [Y/n] y       ---禁止匿名用户登陆


 Disallow root login remotely? [Y/n] y   ---远程禁止root登录


 Remove test database and access to it? [Y/n] y   ---删除测试数据库并访问


 Reload privilege tables now? [Y/n] y    ---重新加载

检测:

 mysql -uroot -p    此时登陆数据库需要输入密码

三.数据库的管理

1.登陆

 mysql -uroot -p         ---root用户登陆数据库


2.建立数据库

1)列出数据库

SHOW DATABASES;          ---列出数据库


2)建立数据库

CREATE DATABASE westos; ---建立数据库westos


3)进入数据库

USE westos;             ---进入数据库


4)建立表结构

CREATE TABLE linux (
    -> username varchar(10) not null,         ---表头为username ,字符数最多为10,不能为空
    -> password varchar(50) not null          ---表头为password,字符数最多为50,不能为空
    -> );


5)查看表结构

DESC linux     ---查看表结构


6)在表中插入数据

INSERT INTO linux VALUES('dai','456');   ---在linux表中插入数据


INSERT INTO linux VALUES('westos','123');      


7.插叙表中的指定字段

SELECT * FROM linux;        ---查询linux表中的所有字段


SELECT username,password from linux;   ---查询linux表中的指定字段(表头)

3.更改

SELECT * FROM linux;        ---查询linux表中的所有字段
用上面的进行检测(笔记与之前所建文件名有所不同,见到什么用什么)

1)更改表名

ALTER TABLE linux RENAME userdata;      ---更改表名为userdata


2)插入行

ALTER TABLE linux ADD age varchar(4);   ---添加一行,表头为age,最长4个字符


3)删除行

ALTER TABLE linux DROP age;           ---删除表中一行


4)指定位置插入行

ALTER TABLE linux ADD age varchar(4) AFTER username; ---在username一行后添加age


5)更改表中数据

UPDATE linux SET age='20';         ---将linux表中的age更改为20


UPDATE linux SET age='18' WHERE username='westos'; ---将username为westos的age更改为18,可用and设置多个条件。

4.删除

1)删除符合条件的数据

 DELETE FROM linux WHERE username='dai';  ---将linux表中符合username为dai的数据删除


2)删除表

DROP TABLE linux;         ---删除表linux


 3)删除数据库

DROP DATABASE westos;     ---删除数据库westos


5.用户授权

1)创建本地用户

mysql -uroot -p   ---超级用户登陆数据库
CREATE USER dai@'localhost' identified by 'westos';     ---创建一个本地用户dai,密码是westos

本地用户登录用于测试:

测试时候,再开个shell连接这个数据库,用本地用户lee登陆
mysql -udai -pwestos      ---本地用户dai登陆数据库,密码为westos

2)root对本地用户进行授权

#查看数据库

GRANT SELECT on westos.* TO dai@localhost;       ---给本地用户dai查看库westos的权限

本地用户查看库westos成功

 #建立表

GRANT CREATE on westos.* TO dai@localhost;   ---给本地用户dai在库westos建表的权限

本地用户建表hello成功

#删除表中信息

GRANT DELETE on westos.* TO dai@localhost;   ---给本地用户dai删除westos库中表信息的权限

 

 

#删除表

 GRANT DROP on westos.* TO dai@localhost;               ----给本地用户dai删除库westos中表的权限

#撤销本地用户指定权限

REVOKE DELETE on westos.* FROM dai@localhost;             ---撤销本地用户dai的删除权限

#删除本地用户

DROP USER dai@localhost;               --删除本地用户dai

FLUSH PRIVILEGES;    ---刷新

 

6.数据库的备份

1)备份指定数据库

mysqldump -uroot -predhat westos > /mnt/westos.sql     ---以数据库root身份登陆,密码为westos,将库westos备份到/mnt/westos.sql


mysqldump -uroot -predhat westos --no-data > /mnt/westos.sql  ---将库westos结构备份到/mnt/westos.sql

2)备份所有数据库

mysqldump -uroot -predhat --all-database > /mnt/westos.sql   ---将所有库都备份


mysqldump -uroot -predhat --all-database --no-data> /mnt/westos.sql  ---将所有库的结构都备份

模拟问题:

删除库westos

恢复方式1

mysql -uroot -predhat -e "CREATE DATABASE westos;"  ---创建库westos
mysql -uroot -predhat westos < /mnt/westos.sql    ---将备份的文件导入库westos中
mysql -uroot -predhat -e "SHOW DATABASES;"       ---查看是否恢复

恢复方式2

vim /mnt/westos.sql            ---编辑备份文件
  CREATE DATEBASE westos;        ---创建westos库
  USE westos;                    ---进入westos库


 mysql -uroot -predhat < /mnt/westos.sql   ---将备份文件导入,因为备份文件写了创建库和进入库,所以这里不需要写导入哪个库


7.数据库密码更改


1)已知超级用户密码

mysqladmin -uroot -predhat password westos   ---将root用户的密码由redhat修改为westos


2)当超级用户密码忘记时:

#停止数据库服务

systemctl stop mariadb

#进入数据库安全模式

mysqld_safe --skip-grant-tables &    ---进入mysql的安全模式,跳过授权列表

#进入数据库修改密码

mysql      ---不需要输入密码,就可以进入数据库

 SELECT User,password FROM mysql.user;                 ---查看用户及密码信息

UPDATE mysql.user SET Password='redhat' WHERE User='root';           ---修改超级用户密码为redhat

但是密码会以明文显示,安全性较差

 

UPDATE mysql.user SET Password=password('redhat') WHERE User='root';       ---将密码设置为设置为加密字符显示

#关闭因为数据库安全模式产生的进程

ps aux | grep mysql   ---列出所有与mysql有关的进程(因为安全模式生成的)
kill -9 mysql的所有进程id


systemctl restart mariadb   ---重启数据库服务

 

检测:

密码修改成功


8.安装phpmyadmin 数据库图形管理


1)下载phpMyAdmin-3.4.0-all-languages     
2)yum install php php-mysql -y             ---安装php服务和php对mysql的插件


3)systemctl restart httpd(需要安装)


4)tar jxf phpMyAdmin-3.4.0-all-languages    ---解压在/var/www/html/,解压完后会有一个目录
   然后将压缩包删除


5)mv phpMyAdmin-3.4.0-all-languages mysqladmin  ---将这个目录重命名


6)cd mysqladmin


7)cp config.sample.inc.php config.inc.php    ---以文件模板拷贝出一个新的文件,命名为config.inc.php,系统会读取。


8)vim config.inc.php    
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';    ---这是在文件mysqladmin/Documentation.txt中提示做的两步设定

测试:

http://172.25.254.162/mysqladmin  数据库登陆,图形方式管理数据库

新建数据库dai

 

在库dai中建表test,并设置3个表头

查看表结构

 

插入数据

 

验证:

shell命令查看数据库

进入数据库dai并查看其中的表

查看所有test的所有数据

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值