Lniux系统之数据库的管理

1.数据库简介

数据库 是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

目前有许多数据库产品,如Oracle、Sybase、db2,mysql,Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等产品各以自己特有的功能,在数据库市场上占有一席之地。

MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可 MariaDB 的目的是完全兼容 MySQL ,包括 API 和命令行,是 MySQL 的代替品。MariaDBMySQL 的创始人 Michael Widenius 主导开发,他早前曾以 10 亿美元的价格,将自己创建的公司 MySQL AB 卖给了 SUN ,此后,随着 SUN 被甲骨文收购, MySQL 的所有权也落入 Oracle 的手中,MariaDB 名称来自 Michael Widenius 的女儿 Maria 的名字。

2.Mariadb数据库的安装和基本配置

<1>安装 Mariadb 数据库

[root@localhost ~]# yum install mariadb-server -y       ##安装mariadb

[root@localhost ~]# systemctl start mariadb             ##启动mariadb服务

[root@localhost ~]# mysql                               ##进入数据库

查看mysql端口

[root@localhost ~]# netstat -antlpe |grep mysql        ##校验mariadb的监听端口,查看mysql端口是否开放

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      27         51499      2667/mysqld 
[root@localhost ~]# systemctl stop firewalld           ##关闭防火墙

[root@localhost ~]# vim /etc/my.cnf                    ##mariadb主配置文件 

添加:skip-networking=1                                 ##跳过网络接口开启服务

重启服务

[root@localhost ~]# systemctl restart  mariadb    
[root@localhost ~]# netstat -antlpe |grep mysql       ##无输出,表示数据库在网络上开启的接口已关闭

在这里插入图片描述
<2>使用 mysql_secure_installation 工具进行数据库安全设置,根据提示完成操作:

mysql_secure_installation                    ##设置密码(除输入密码外一路回车)     

set root password [Y/n]                      ##设置root用户密码     

Remove anonymous users [Y/n]                 ##不允许匿名用户登陆    

Disallow root login remotely [Y/n]          ##阻止允许root用户远程登陆    

Remove test database and access to it [Y/n]   ##删除出入数据库的接口     

Reload privilege tables now [Y/n]              ##刷新数据库   

重启服务

systemctl start mariadb  ##重启服务

<3>登录

mysql -uroot -p                                ##登陆(需输入密码)
密码:

在这里插入图片描述

3.数据库的基本操作

查看

SHOW DATABASES;                 	   ##显示数据库 
USE database_name;                     ##进入数据库 
SHOW tables;                           ##显示数据库表 
(现在表为空) 

在这里插入图片描述
在这里插入图片描述
注意:表头在数据库里叫做字段。

建立

CREATE DATABASE database_name			##创建数据库
CREATE TABLE table_name					##创建表
DESC linux 								##查看表结构
INSERT INTO linux VALUES (‘tay’,‘123’); ##插入数据到linux表中
SELECT * FROM linux; 					##查询所有字段在linux表中
MariaDB [linux]> CREATE TABLE linux(
    -> username varchar(50) not null,
    -> password varchar(50) not null);

在这里插入图片描述
更改

USE linux
UPDATE linux SET password=('234') where username='tay'

在这里插入图片描述

ALTER TABLE linux DROP class;  ## 放弃
ALTER TABLE linux ADD class varchar(20) AFTER USERNAME;  ##在username后加入字段

在这里插入图片描述

UPDATE linux SET class='linux'##更改信息(class一列都将被更改)

在这里插入图片描述

UPDATE linux SET class='Python' WHERE username='tay';	##更改表格信息(当username为tay时将tay的calss信息改为Python)

在这里插入图片描述
备份及恢复

库里的信息备份成脚本

mysqldump -uroot -p linux > /mnt/linux.sql ##备份指定库
mysqldump -uroot -p linux  --no-data  ##备份指定库,不要数据

mysqldump -uroot -p --all-database  ##备份所有库
mysqldump -uroot -p --all-database  --no-data  ##备份所有库,不要数据

在这里插入图片描述
恢复方式1(命令建库):

mysql -uroot -p -e "CREATE DATABASE linux;"  ##-e执行动作
mysql -uroot -p linux< /mnt/linux.sql  ##要指定库名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
恢复方式2(脚本建库):

vim /mnt/linux.sql

写入:
CREATE DATABASE linux;
USE linux;

mysql -uroot -p  < /mnt/linux.sql

在这里插入图片描述

删除

DELETE FROM linux.linux WHERE username='tay'; ##删除表中信息

在这里插入图片描述

DROP TABLE linux.linux;  ##删除表

DROP DATABASE linux;  ##删除库

在这里插入图片描述
用户和访问权限

SELECT User FROM mysql.user;  ##查看本机有哪些用户

在这里插入图片描述
建立用户:

CREATE USER user@localhost identified by ‘haha’; 
CREATE USER user@’%’ identified by ‘haha’; 
localhost表示本地用户,’%’表示任何客户端可以登录,可以远程登录,identified by 后面加用户密码 

例子:

CREATE USER ma@localhost identified by '111'; ##建立用户ma,密码111

在这里插入图片描述

用户授权:

GRANT INSERT,UPDATE,DELETE,SELECT on ma.* to ma@localhost; 
GRANT SELECT on mariadb.* ma@’%’; 

在这里插入图片描述
查看用户授权:

SHOW GRANTS FOR ma@localhost; 

在这里插入图片描述
重载授权表:

FLUSH PRIVILEGES; 

在这里插入图片描述
撤销用户授权:

REVOKE UPDATE on haha.* from ma@localhost; 

在这里插入图片描述
删除用户:

DROP USER user@localhost; 

在这里插入图片描述

4.网页模式创建数据库

[root@localhost ~]# yum install httpd php php-mysql  -y       ##安装阿帕奇、php-mysql、php

[root@localhost ~]# systemctl start httpd

[root@localhost ~]# cd /var/www/html/

[root@localhost html]# ls

phpMyAdmin-3.4.0-all-languages.tar.bz2

[root@localhost html]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2   ##解压php数据库软件

[root@localhost html]# ls

phpMyAdmin-3.4.0-all-languages  phpMyAdmin-3.4.0-all-languages.tar.bz2

[root@localhost html]# mv phpMyAdmin-3.4.0-all-languages/ mysqladmin    ##修改数据库软件名称

[root@localhost html]# cd /mysqladmin

[root@localhost mysqladmin]# cp config.sample.inc.php config.inc.php    ##复制新文件,根据快速安装步骤说明

systemctl stop firewalld		##关闭防火墙

systemctl disable firewalld		##开机不开启服务

打开浏览器进入网页,输入 172.25.254.225/mysqladmin 进行登录

进入网页后,可以选择语言为中文,输入用户名以及数据库密码用网页登录数据库:
在这里插入图片描述

登录成功后界面:在这里插入图片描述

5.更改数据库root密码

[root@localhost ~]# systemctl stop mariadb.service       ##关闭mariadb服务

[root@localhost ~]# mysqld_safe --skip-grant-tables &    ##跳过授权表并打入后台

[1] 1751

[root@localhost ~]# 180526 02:40:53 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.   ##后台运行

180526 02:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

[root@localhost ~]# mysql

MariaDB [(none)]> update mysql.user set Password=password('redhat')  where User='root';    ##更改密码

在这里插入图片描述
在这里插入图片描述

[root@localhost ~]# ps aux | grep mysql           ##过滤所有mysql的进程

[root@localhost ~]# kill -9 xxxxx        ##结束进程

[root@localhost ~]# ps aux | grep mysql

[root@localhost ~]# systemctl start mariadb      ##开启

[root@localhost ~]# mysql -uroot -p      ##再次登陆

Enter password: 

在这里插入图片描述

关于数据库的相关内容就是这些。

猜你喜欢

转载自blog.csdn.net/qq_43570369/article/details/87736664