Mysql数据库的基本管理

数据的定义

数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。

什么是数据库

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

主要的数据库种类

名称所属公司
sqlserverMiscrosoft
mysqlOracle
oracleOracle
db2IBM

现在大多数企业所使用的数据库是Mysql,他是开源的,而Oracle则是最稳定的。

本篇则重点介绍一下Mysql

一.数据库的安装与安全初始化

安装
1.yum search mariadb

在这里插入图片描述

2.yum install mariadb-server -y
3.systemctl start mariadb

在这里插入图片描述

安全初始化
1.netstat -antlupe | grep mysql	                 ##查看接口

在这里插入图片描述

2.vim /etc/my.cnf			                     ##在配置文件里关闭接口
skip-networking=1			

在这里插入图片描述

3.systemctl restart mariadb                       ##重启服务
4.mysql_secure_installation                       ##安全初始化插件,修改密码

Enter current password for root (enter for none): ##输入原密码

Set root password? [Y/n]                          ##设置数据库超级用户密码
New password:                            
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!
Remove anonymous users? [Y/n]                      ##是否删除匿名用户

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

Remove test database and access to it?[Y/n]        ##是否删除test库

Reload privilege tables now? [Y/n]                 ##是否重新加载权限表

在这里插入图片描述

5.mysql -uroot -p                                   ##密码登陆

登陆后操作命令一般用大写字母,命令后用;结尾
在这里插入图片描述

二.数据库管理

1.新建
SHOW  DATABASES;             ##列出库
CREATE  DATABASE  hello;    ##建立库
USE hello;                  ##进入库

在这里插入图片描述

CREATE  TABLE  linux (             ##建立表
->username varchar(50) not  null,
->password varchar(50) not  null
-> );
DESC linux;                         ##查看表结构

在这里插入图片描述

INSERT INTO  linux VALUES ('aaa','111');          ##插入数据到linux表中
SELECT * FROM linux;                               ##查询所有字段在linux表中
SELECT username FROM linux;                        ##查询指定字段在linux表中

在这里插入图片描述

2.备份
mysqldump   -uroot  -p123456 hello  >  /mnt/hello.sql              ##备份库
mysqldump   -uroot  -p123456 hello  --no-data                      ##只备份框架
mysqldump   -uroot  -p123456  --all-database                       ##备份所有数据库
mysqldump   -uroot  -p123456  --all-database  --no-data            ##只备份所有库的框架

在这里插入图片描述

3.更改

一般不要改变数据库的名称,否则可能会导致数据丢失

UPDATE  linux SET password=password('00')WHERE username='aaa';  ##更改数据,where后面是指定的信息

在这里插入图片描述
在这里插入图片描述
此时新添加的password是加密形式的字符

ALTER  TABLE  linux ADD  class varchar(20);                     ##插入新的数据
ALTER TABLE linux DROP class;                                   ##删除class

在这里插入图片描述

ALTER  TABLE  linux ADD  age varchar(20) AFTER username;        ##增加的数据在password之后,默认加在最后

在这里插入图片描述

ALTERA  TABLE  linux  RENAME redhat;                           ##更改表名称

在这里插入图片描述

4.删除
DELETE  FROM  redhat WHERE  username='aaa';     ##删除数据
DROP   TABLE redhat;                            ##删除表

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

DROP  DATABASE  hello;                          ##删除库

在这里插入图片描述

5.恢复

方式1

1.vim /mnt/hello.sql                                 ##编辑文件

CREATE  DATABASE  hello;
USE hello;

2.mysql  -uroot  -p123456 < /mnt/hello.sql           ##导入数据

方式2

mysql  -uroot  -p123456  -e "CREATE  DATABASE  hello;"
mysql  -uroot  -p123456   hello < /mnt/hello.sql  

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

6.用户授权
SELECT USER FROM  mysql.user;                                 ##查看用户列表
CREATE  USER student@'localhost' identified  by '111111';     ##建立本地用户,student@'%'则用户可在其他主机远程登陆

在这里插入图片描述
在这里插入图片描述
但student没有进入和查看hello库的权限,需要添加
在这里插入图片描述
在root用户登陆

GRANT  SELECT,INSERT on  hello.* TO student@localhost;      ##给用户关于库的相关权限
SHOW GRANTS  FOR student@localhost;                           ##显示用户权限列表

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

REVOKE  INSERT ON  hello.* FROM student@localhost;##取消用户权限

在这里插入图片描述

DROP  USER  student@localhost;##删除用户

在这里插入图片描述

FLUSH PRIVILEGES;  ##刷新
7.密码的更改
mysqladmin  -uroot  -p123456 password 654321  ##修改密码

在这里插入图片描述
忘记root密码

1.systemctl stop mariadb                        ##停止服务
2.mysqld_safe  --skip-grant-tables &           ##跳过读取密码服务文件并打入后台


3.mysql
UPDATE  mysql.user  SET Password=password('hello') where User='root';      ##修改密码

在这里插入图片描述

4.ps aux | grep mysql
5.kill  -9            ##结束mysql所有进程

在这里插入图片描述

6.systemctl  start mariadb  ##打开服务
7.mysql  -uroot -phello  ##用新密码登陆

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值