Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin

以下的实操都是在redhat7.3上;


数据库


什么是数据库?(数据库的概念来自百度百科)

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
数据库的定义不唯一,现在通俗易懂的介绍一下的概念,数据库是"按照数据结构来组织、存储和管理数据的仓库"。简单的来说是本身可视为电子化的文件柜————存储电子文件的处所,用户可以对文件中的数据进行增、删、改、查等等操作。数据库也是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点、是与应用程序彼此独立的数据集和。


关系型数据库:oracle、mysql、pgsql;
内存型数据库:redis;
中间型数据库:mongodb;


什么是开源?

开源(开放源码)被非盈利软件组织注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的的使用、修改和发行也不受许可证的限制。人们需要知道的是组成软件的包和它们的许可证是开放的源代码。此外,单独的许可证可能不是“货物”,它由美国专利和商标局注册认证标志。但是软件的作者显然必须能够自我认证、在适当的时刻确认他们的软件是按照OSI Certified的开放源代码方式发布的。


mariadb简介

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


数据库安装

一个主机可以创建多个数据库,端口可以有多个;

  1. 下载数据库服务mariadb-server
    在这里插入图片描述

  2. 开启数据库服务
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第1张图片

  3. mysql默认的数据文档存储目录为:/var/lib/mysql
    配置文件:/etc/my.cnf
    在这里插入图片描述

  4. 开机自启mariadb数据库服务;

  5. 无密码直接进入数据库,这样存在不安全性;Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第2张图片
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第3张图片

  6. netstat -antulpe 列出所有端口(包含监听和未监听的)
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第4张图片

  7. 在配置文件中将数据库端口:3306彻底关闭[mysqld]–skip-networking=1,是为了安全性;重新启动服务;再次查看mysql的端口服务,应该是不存在的;Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第5张图片

  8. 安全初始化mysql_secure_installation,设置密码;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第6张图片
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第7张图片

  9. root用户输入密码进入数据库,-u用户,-p密码,-n数据库主机,-P端口号,quit/exit退出;NULL是否为空;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第8张图片



数据库基本管理(查、增、改、删)

  1. 直接查看数据库mysql -uroot -predhat;也可以用命令直接查看数据库 mysql -uroot -predhat -e “SHOW DATABASES;” ;也可以用重定向的方法查看数据库

重定向的方法查看数据库的库:
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第9张图片
直接查看

Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第10张图片
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第11张图片
2. 数据库查询
(1)查询表结构:DESC user;(语句要以分号结尾)
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第12张图片

(2)针对字段搜索:SELECT host ,user,Select_priv FROM user;
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第13张图片

(3)添加条件:SELECT host,user,Select_priv FROM user WHERE Host=‘localhost’;

Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第14张图片

  1. 建立数据以及表单;
    (1)创建库名为wangyibo:CREATE DATABASE wangyibo;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第15张图片
    (2)查看表:SHOW TABLES;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第16张图片
    (3)建立表; CREATE TABLE art(
    -> username varchar(10) not null,
    -> passwd varchar(20) not null,
    -> sex varchar(6) not null
    -> );
    (4)查看wangyibo库的art表的结构:DESC art;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第17张图片
    (5)插入数据:INSERT INTO art VALUES(“Justin”,“Justin”,“male”);
    (6)查看art表:SELECT * FROM art;
    (7)针对字段搜索表单:SELECT username,sex FROM art;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第18张图片

ALTER TABLE语句:是在已存在的表中添加、修改、删除列;

  1. 添加字段:ALTER TABLE art ADD class varchar(10);

  2. 查看wangyibo库的art表的结构:DESC art;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第19张图片

  3. 将表单名称art改为user:
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第20张图片

  4. 在字段sex后面添加age字段:ALTER TABLE user ADD age varchar(10) AFTER sex;
    在这里插入图片描述
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第21张图片

  5. 查看表:SELECT * FROM user;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第22张图片
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第23张图片

  6. 更改某用户的某字段的内容:UPDATE user SET class=‘python’ WHERE username=‘Justin’ AND passwd=‘Justin’;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第24张图片

  7. 更新数据:SELECT * FROM user;
    INSERT INTO user VALUES(‘jingbao’,‘jingbo’,‘male’,‘linux’);
    SELECT * FROM user;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第25张图片


删除数据库、表单、用户数据;

  1. 删除某用户数据:DELETE FROM user WHERE username=‘jingbao’;
    SELECT * FROM user;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第26张图片
  2. 删除表单:SHOW TABLES;

创建的新表单(为了查看删除表单的这个命令而创建的):CREATE TABLE zhao(
-> username varchar(10)
-> );
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第27张图片
查看表格:SHOW TABLES;
删除zhao表格:DROP TABLE zhao;
再次查看表格是否还存在zhao表格: SHOW TABLES;
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第28张图片

  1. 删除数据库:SHOW DATABASES;

创建的新数据库(为了查看删除数据库的这个命令而创建的):CREATE DATABASE westos;
查看数据库:SHOW DATABASES;
删除名为westos的数据库:DROP DATABASE westos;
再次查看数据库:SHOW DATABASES;
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第29张图片
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第30张图片



用户和访问权限

创建用户
方法一:
创建数据库

Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第31张图片

  1. 创建用户:CREATE USER zhao@localhost IDENTIFIED BY ‘zhao’;——>创建普通用户为zhao用户可以在本地登陆且验证密码为zhao;
    CREATE USER zhao@’%(所有的ip)’ IDENTIFIED BY ‘redhat’;
    在这里插入图片描述
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第32张图片
  2. 用户授权:GRANTS SELECT ON userdata.* TO zhao@localhost;拥有查看权限
    GRANTS INSERT ON userdata.* TO zhao@localhost;拥有插入权限
  3. 重载(刷新)授权表;FLUSH PRIVILGES;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第33张图片
  4. 查看用户授权:SHOW GRANTS FOR zhao@localhost;

Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第34张图片
5. Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第35张图片
6. 撤销用户插入权限:REVOKE INSERT ON userdata.* FROM zhao@localhost;
在这里插入图片描述

撤销用户权限后,必须重新进入该普通用户的数据库才能看到修改权限的状态,无法识别权限被改。因为刚开始登陆已经是进入了数据库的状态,所以不会察觉被改;
每次进入一定一定要记住自己进入的是超户root还是普通用户!!!

方法二:

1、GRANTS SELECT,INSERT ON userdata.* TO zhao@localhost DENTIFIED BY ‘zhao’;
2、REVOKE INSERT ON userdata.* FROM zhao@localhost;


删除用户:DROP USER zhao@localhost;

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

修改数据库属性内容;

Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第36张图片



备份与恢复
备份:
  1. 备份数据库的全部:

mysqldump -uroot -predhat --all-data
mysqldump -uroot -predhat --all-data --no-data
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第37张图片
在这里插入图片描述

  1. 备份部分数据库:

mysqldump -uroot -predhat userdata > /mnt/userdata.sql
删除数据库:mysql -uroot -predhat -e “DROP DATABASE userdata;”
查看数据库:mysql -uroot -predhat -e “SHOW DATABASES;”
在这里插入图片描述
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第38张图片


恢复
恢复方式1:
  1. 导入userdata库:mysqldump -uroot -predhat < /mnt/userdata.sql 会有报错;
    在这里插入图片描述
  2. vim /mnt/userdata.sql
    在配置文件中添加:

21 CREATE DATABASE userdata;
22 USE userdata;
在这里插入图片描述
. Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第39张图片

  1. 以超级用户root的身份进入数据库:
    mysql -uroot -predhat
  2. 查看数据库:
    SHOW DATABASES;

5.查看userdata数据库的usertab的表单:
SELECT * FROM userdata.usertab;

恢复方式2:
  1. 用命令直接在shell查看数据库:

mysql -uroot -predhat -e “DROP DATABASE userdata;”
mysql -uroot -predhat -e “CREATE DATABASE userdata;”
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第40张图片
在这里插入图片描述
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第41张图片

  1. 进入userdata数据库文件:
    vim /mnt/userdata.sql
    删除21 22行
    在这里插入图片描述
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第42张图片
  2. 指定导入userdata库:
    mysql -uroot -predhat userdata< /mnt/userdata.sql
    在这里插入图片描述


修改密码
知道密码修改密码:
mysqladmin -uroot -predhat password westos
				   ^旧密码            ^新密码

测试:
mysql -uroot -pwestos
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第43张图片

不知道超级用户密码该密码:
  1. 关闭数据库:
    systemctl stop mariadb.service
  2. 跳过授权表
    mysqld_safe --skip-grant-table &
  3. 进入数据库
    mysql
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第44张图片

修改明文密码:
UPDATE mysql.user SET Password=‘redhat’ WHERE User=‘root’;明文密码
查看密码是明文还是密文
SELECT * FROM mysql.user;
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第45张图片
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第46张图片
修改密文密文
UPDATE mysql.user SET Password=password(‘redhat’) WHERE User=‘root’;密文密码;
SELECT * FROM mysql.user;
在这里插入图片描述
在这里插入图片描述

  1. 关闭数据库的进程(否则无法进入数据库) :

ps aux|grep mysql
kill -9 mysql进程号( 8922 9068)
systemctl restart mariadb
mysql -uroot -predhat
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第47张图片



什么是phpMyAdmin?(概念来自百度百科)

phpMyAdmin是一个用PHP编写的软件工具。是以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL管理库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是远程管理MySQL数据库,方便的建立、修改、删除数据库以及资料表。也可由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。


安装phpMyAdmin
  1. 安装httpd服务:
    yum install -y httpd
    因为虚拟机早下载了httpd服务,所以就不用再下载了;
    Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第48张图片
  2. 在防火墙中加入http服务,否则数据只能出不能进;

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

  1. 测试:
    在浏览器中查看http://172.25.255.110会报错:

unable to connection

原因:
1、未开启防火墙
2、未开启HTTP服务;
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第49张图片
4. 安装php服务
yum install -y php
systemctl restart httpd
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第50张图片
5. 测试:
在浏览器中查看http://172.25.255.110/phpMyAdmin会报错:
下载完应该有两行报错;
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第51张图片
6. 安装缺失的两个软件包以及php-mysql服务
yum install -y php-mysql
7. 重启服务:
systemctl restart httpd
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第52张图片
8. 测试
浏览器访问: http://172.25.254.110/phpMyAdmin
会显示登陆数据库的页面
登录:账号root
密码:redhat
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第53张图片
Linux————MySQL增删改查、权限、备份、恢复、更改密码、phpMyAdmin_第54张图片



若文章有误或知识点有其它的答案,麻烦各位可爱的小哥哥小姐姐留言解释,感谢感谢!!!

你可能感兴趣的:(Linux运维入门)