2.2 MySQL数据库的基本管理

部署安装数据库

数据库:高级的Excel软件

  1. 数据库的常用名词

字段:username字段(表头:username password class address)
表:表格
库:存放表格的目录
查询:对表格中的指定内容进行查看

  1. 安装并启用数据库
    dnf list | wc -l 6656

安装数据库,mariadb是MySQL的分支

dnf  search  mariadb
dnf  install  mariadb-server.x86_64   -y
rpm   -ql   mariadb-server.x86_64
目录 说明
/var/lib/mysql 数据目录
/etc/my.cnf.d/mariadb-server.cnf 主配置文件
/usr/lib/systemd/system/mariadb.seervice 服务启动脚本

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述启动数据库

systemctl  enable  --now  mariadb
#无密码,直接登录
mysql

在这里插入图片描述登陆数据库
在这里插入图片描述

  1. 对数据库进行安全初始化

1)step1:设置密码

#初始化脚本
mysql_secure_installation
#回车:查询原始密码
#y:是否设定数据库的管理员的密码
#设定密码:westos       
#y:是否禁止匿名用户的登录权利
#y:是否禁止管理员通过远程登录远程超级用户的登录权利
#删除测试库
#y:reload刷新数据库

在这里插入图片描述在这里插入图片描述在这里插入图片描述密码登陆数据库
在这里插入图片描述2)step2:关闭端口

默认情况下,MySQL是对外开放端口

netstat  -antlupe  |   grep  mysql

在这里插入图片描述

企业要求关闭3306端口,存在对外开放的端口,很危险
编辑主配置文件

vim   /etc/my.cnf.d/mariadb-server.cnf


写入:

#21行:关闭数据库的网络端口
skip-networking=1

在这里插入图片描述
重启服务

systemctl  restart  mariadb
netstat  -antlupe  |  grep  mysql
#端口已关闭

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

数据库的基本管理

mysql中没有补齐功能
库:相当于目录(westos)
表:相当于目录中的文件(linux)
westos是库,linux是表

mysql  -uroot  -p

在这里插入图片描述

  1. 查看数据库
SHOW  DATABASES;                    //显示库名称
USE mysql;                          //进入mysql库
SHOW  TABLES;                       //显示库中的所有表
SELCET   * FROM user;               //查询所有数据
SHOW TABLES FROM mysql;             //查看mysql库里的所有表格
SELECT Host,User,Password FROM user;//查看指定字段(表头)
SELECT Host,User,Password FROM user WHERE User='root' and  Host='localhost';

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

  1. 新建数据库的表
CREATE DATABASE westos            //新建一个库westos
CREATE TABLE westos.linux(        //新建westos库中的表
username  varchar(6)  not  null,  //字符长度不能超过6个不能为空
password  varchar(30) not  null
);
DESC westos.Linux                 //对表的结构查询

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

  1. 插入字段信息
INSERT  INTO  westos.linux VALUES('yao',123)   //在westos库的linux表中插入信息
SELECT  *  FROM  westos.linux                  //查询

在这里插入图片描述

  1. 插入多条字段信息
INSERT  INTO  westos.linux VALUES('yao1',123),('yao2',123);

在这里插入图片描述

  1. 更改库的名字

一般情况下,库的名字不修改,可能会造成数据丢失

ls  /var/lib/mysql                              //数据目录
mv  /var/lib/mysql/westos  /var/lib/mysql/yao   //更改库的名字
systemctl  restart  mariadb
SHOW DATABASES;

在这里插入图片描述在这里插入图片描述在这里插入图片描述解决办法:
删除库,重新建立
在这里插入图片描述在这里插入图片描述在这里插入图片描述

  1. 更改表的名字
USE westos                              //进入westos库
ALTER  TABLE  linux  RENAME  userlist;  //修改表的名字为userlist
SHOW  TABLES;                           //显示westos库中的所有表

在这里插入图片描述

  1. 添加字段

默认添加字段在最后一行

DESC linux
ALTER TABLE linux ADD age varchar(4);  //在linux表中添加字段信息age
DESC linux;

在这里插入图片描述指定新加字段在的位置

ALTER  TABLE  linux  DROP  age                                     //先删除之前的age
ALTER  TABLE  linux  AFTER  ADD age  varchar(4)  AFTER  username;  //将age添加到username下方

在这里插入图片描述

  1. 更新表格当中的数据
UPDATE  linux  SET  age=‘123’;
SELECT  *  FROM  linux;

在这里插入图片描述

UPDATE  linux  SET  age=‘18’  WHERE  username=‘lee1’;

在这里插入图片描述

Q:库里的用户密码是记录库的用户与密码还是linux里的用户密码?
A:数据库里的用户密码与真机的密码无关

  1. 删除表
DROP  TABLE  Linux;
SHOW  TABLES;

在这里插入图片描述

  1. 删除库
DROP  DATABASE  westos;
SHOW  DATABASES;

在这里插入图片描述

  1. 删除字段信息
DELETE  FROM  linux  WHERE  username='yao';
SELECT  *  FROM  linux;

在这里插入图片描述

数据库密码的管理

已知原始密码

mysqladmin  -uroot  -pwestos  password  yao

在这里插入图片描述

忘记原始密码

1)先关闭数据库,跳过授权表模式,再运行数据库

systemctl  stop  mariadb
mysqld_safe  --skip-grant-tables  &
#【ctrl+z】

在这里插入图片描述

2)设定密码

当使用过mysqladmin更改密码:UPDATE mysql.user SET authentication_string='123' WHERER User='root';

当未使用mysqladmin更改密码:UPDATE mysql.user SET Password='123' WHERER User='root';

mysql  -uroot  -pyao
SELECT  *  FROM  mysql.user;
UPDATE  mysql.user  SET  authentication_string='123'  WHERER  User='root';

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

3)密码是明文,要加密一下password(‘123’)

UPDATE  mysql.user  SET  authentication_string=password('123')  WHERE  User='root';

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

4)查询mysql的全部进程,结束全部进程

ps  aux  |  grep  mysql

在这里插入图片描述

6)刷新数据库,如果systemctl 不生效,用flush privileges
在这里插入图片描述
注意!数据库出现问题的解决办法

systemctl  stop  mariadb
rm  -fr  /var/lib/mysql/
dnf  reinstall  mariadb-server  -y
systemctl  enable  --now  mariadb
mysql
#登陆

用户的授权

用户可以有的权利如下查看

SELECT  *  FROM  User;
  1. 创建普通用户
  • 查看数据库中的用户
SELECT  Host,User  FROM  mysql.user;

在这里插入图片描述

数据库中只有root用户,mysql中还需要别的用户

  • westos用户只能在本机登陆数据库
CREATE  USER  westos@localhost  identified  by  'westos';
  • yao用户可以通过网络登陆,通过网络登陆前提是数据库端口必须开启
CREATE  USER  yao@'%'  identified  by  'westos';  

在这里插入图片描述

  • 登陆数据库失败,westos只能本机登陆,不能远程登陆
mysql  -uwestos  -pwestos  -h192.168.0.117  westos
  • 远程登陆数据库,要对外开放数据库的接口

编辑主配置文件,写入内容:

vim  /etc/my.cnf.d/mariadb-server.cnf
skip-networking=0
mysql  -uyao  -pwestos  -h192.168.0.117
  1. 普通用户的授权

1)用root用户创建的数据库
在这里插入图片描述

2)对普通用户westos授权查看信息

  • 普通用户westos试着去查看数据库的信息,查看失败
    在这里插入图片描述
  • 超级用户登陆授权给westos
GRANT  SELECT  ON  westostest.*  TO  westos@localhost;
SHOW  GRANTS  FOR  westos@localhost;

在这里插入图片描述

  • 普通用户westos可以查看root用户的数据库
    在这里插入图片描述

3)对普通用户westos授权插入字段信息

  • 普通用户westos试着去插入字段信息,插入失败
    在这里插入图片描述
  • 超级用户登陆授权给westos
GRANT INSERT  ON  westostest.*  TO  westos@localhost;
SHOW  GRANTS  FOR  westos@localhost;

在这里插入图片描述

  • 普通用户westos可以插入字段信息
INSERT  INTO  westostest.userlist  VALUES('test','123');

在这里插入图片描述

  1. 撤销普通用户的授权
REVOKE  INSERT  ON  westostest.*  FROM  westos@localhost;
SHOW  GRANTS  FOR  westos@localhost;
  1. 删除用户
DROP USER yao@'%';      

在这里插入图片描述

数据库备份

1)备份数据库

mysql  -uroot  -p123
SHOW  DATABASES;

在这里插入图片描述

mysqldump  -uroot  -p123  mysql

在这里插入图片描述

mysqldump  -uroot  -p123  mysql  >  /mnt/mysql.sql           //备份mysql库中的所有数据
mysqldump  -uroot  -p123  --all-databases  >  /mnt/all.sql   //备份所有数据库
mysqldump  -uroot  -p123  --all-databases  --no-data  >  /mnt/all_nodata/sql     //仅仅备份库,不备份数据
mysqldump  -uroot  -p123 westostest  >  /mnt/westostest.sql     //备份westostest库

在这里插入图片描述2)删除数据库

DROP  DATABASES  westostest;

在这里插入图片描述
3)建立一个新的数据库

mysql  -uroot  -p123  -e  "CREATE  DATABASE  westostest;"

在这里插入图片描述4)将westostest.sql的库导入建立的库中,完成数据还原

mysql  -uroot  -p123  westostest  <  /mnt/westostest.sql

在这里插入图片描述

图形方式管理数据库

dnf  search  php
dnf  install  httpd  php  php-mysqlnd.x86-64  -y

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

systemctl  enable  --now  httpd
systemctl  restart  httpd
firewall-cmd  --permanent  --add-service=http
firewall-cmd  --reload

在这里插入图片描述

Firefox:http://192.168.0.117

在这里插入图片描述

tar  jxf  phpMyAdmin-3.4.0-all-languages.tar.bz2  -C  /var/www/html/

在这里插入图片描述

mv  /var/www/html/phpMyAdmin-3.4.0-all-languages.tar.bz2  mysqladmin

在这里插入图片描述

ls  /var/www/html/mysqladmin
vim  /var/www/html/mysqladmin/Documentation.txt
cp  config.sample.inc.php  config.sample.php

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

图形化管理
在这里插入图片描述在这里插入图片描述删除字段信息
在这里插入图片描述在这里插入图片描述新建表格
在这里插入图片描述在这里插入图片描述在这里插入图片描述插入字段信息
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47133613/article/details/113612298
2.2