企业级Linux数据库相关操作

数据库

当前市场上有四种数据库,分别是:
sqlserver————————————————miscrosoft
mysql——————————— sun——————oracle
orcale———————————————————oracle
db2——————————————————————ibm
其中用的最多的是mysql和oracle

在这里我们学习的是mysql的相关知识

数据库的安装

1.配置yum源

2.安装mariadb软件(此软件与mysql软件完全兼容)

yum search mariadb

yum install mariadb-server.x86_64 -y

systemctl start mariadb

企业级Linux数据库相关操作

企业级Linux数据库相关操作

数据库的安全

在数据库才建立的时候查看它的接口状态

netstat -antlupe | grep mysql

企业级Linux数据库相关操作

此时数据库时不安全的,他开放了外部的接口。

vim /etc/my.cfg     ###在数据库配置文件

企业级Linux数据库相关操作

 10 skip-networking=1   ###将对外的网络接口跳过打开。

systemctl restart mariadb       ###重启mariadb服务

重新查看接口状态:

netstat -antlupe | grep mysql发现现在已经没有此软件的对外网络接口了:

企业级Linux数据库相关操作

为根用户设置密码:

[[email protected] ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

设置了密码之后,后面的设置点yes。

  测试;

企业级Linux数据库相关操作

数据库的管理

mysqladmin -uroot -pwestos passwd lee      ###将密码修改为lee模拟忘记密码
当超级用户密码忘记时:
systemctl stop mariadb


mysqld_safe --skip-grant-tables &

企业级Linux数据库相关操作

mysql

企业级Linux数据库相关操作
updata mysql.user  set Password=password('westos') WHERE User='root';

企业级Linux数据库相关操作

kill -9 mysql的所有进程

企业级Linux数据库相关操作
systemctl start mariadb

企业级Linux数据库相关操作

数据库的管理

*)建立
SHOW DATABASES;        ##列出库

CRRATE DATABASE westos;    ##建立库

企业级Linux数据库相关操作

USE westos;            ##进入库

SHOW tables;            ##列出表
CREATE TABLE linux(        ##建立表
   -> username varchar(50) not null,
   -> password varchar(50) not null
   -> );

企业级Linux数据库相关操作
DESC linux;            ##查看表结构

企业级Linux数据库相关操作
INSERT INTO linux VALUES ('sun','111');        ##插入数据到linux表中

企业级Linux数据库相关操作
SELECT * FROM linxu;                ##查询指定字段在linux表中

企业级Linux数据库相关操作
SELECT username,password form linux;        ##查询指定字段在linux表中

企业级Linux数据库相关操作

*)更改
UPDATE linux SET password=456 where username='lee';     ###

企业级Linux数据库相关操作
ALTER TABLE linux ADD class varchar(20);

企业级Linux数据库相关操作
ALTER TABLE linux DROP CLASS;            ##删除一项

企业级Linux数据库相关操作
ALTER TABLE linux ADD age varchar(20) AFTER username;  ##添加age到username后面

企业级Linux数据库相关操作
ALTER TABLE linux RENAME redhat;        ##将表名字更改为redhat,(一般不建议更改,会发生数据丢失)

注:在数据库更改数据表的名字的库的名字会导致不可预知的后果,可能导致数据不稳定

*)删除
DELETE FROM linux WHERE username='lee';        ###从linux表里面删除lee这一行

企业级Linux数据库相关操作
DROP TABLE redhat ;                ###删除redhat表

企业级Linux数据库相关操作
DROP DATABASE westos;                ###删除westos库

企业级Linux数据库相关操作

*)用户授权

命令介绍:

CREATE USER [email protected]'localhost' identified by 'westos';               ##创建本地用户密码是westos
GRANT SELECT,INSERT on westos.* TO [email protected];         ##将westos数据库的查看,插入的权限赋予lee本地用户
SHOW  GRANTS FOR [email protected];                                         ##显示本地用户lee的所有权限
PEVOKE INSERT ON westos.* FROM [email protected];              ##将本地用户lee在westos数据库中的所有的表的插入权力移除
DROP USER [email protected];                                                         ##删除本地用户lee

FLUSH PRTVILEGES;   ##刷新

实验:

CREATE USER [email protected]'localhost' identified by 'westos';               ##创建本地用户密码是westos

企业级Linux数据库相关操作

在另外一个shell中以lee用户登录数据库,以lee用户的身份SHOW DATABASES;实验结果如下:

企业级Linux数据库相关操作

企业级Linux数据库相关操作

从上面图中我们可以看出此时的lee用户没有查看数据库westos的权限

然后我们运行下面的命令;

GRANT SELECT on westos.* TO [email protected];

企业级Linux数据库相关操作

企业级Linux数据库相关操作

上面两个图说明用户的查看权限授予成功。

在insert的时候会报错:INSERT INTO linux VALUES ('jiang','456'); 

企业级Linux数据库相关操作

GRANT INSERT on westos.* TO [email protected];         ##将westos数据库的插入的权限赋予lee本地用户

企业级Linux数据库相关操作

GRANT SELECT,INSERT on westos.* TO [email protected];       ##将westos数据库的选择,插入的权限赋予lee本地用户

企业级Linux数据库相关操作

SHOW  GRANTS FOR [email protected];                                         ##显示本地用户lee的所有权限

企业级Linux数据库相关操作
PEVOKE INSERT ON westos.* FROM [email protected];              ##将本地用户lee在westos数据库中的所有的表的插入权力移除


DROP USER [email protected];                                                         ##删除本地用户lee

企业级Linux数据库相关操作

FLUSH PRIVILEGES;   ##刷新

企业级Linux数据库相关操作

数据库的备份

命令介绍:

mysqldump -uroot -pwestos westos > /mnt/westos.sql    ##将westos库备份到/mnt/westos.sql
mysqldump -uroot -pwestos westos --no-data        ##将表格备份出来不要数据
mysqldump -uroot -pwestos --all-database         ##将所有的数据库备份出来
mysqldump -uroot -pwestos --all-database --no-data    ##将所有的数据库的表头备份出来

 


恢复方式1
mysql -uroot -pwestos -e "CREATE DATABASE westos;"     ##在shell命令行创建westos库
mysql -uroot -pwestos westos < /mnt/westos.sql                      ##将/mnt/westos.sql文件导入到westos库里

企业级Linux数据库相关操作

恢复方式2
vim /mnt/westos.sql
CREATE DATABASE westos;
USE westos;
mysql -uroot -pwestos < /mnt/westos.sql

企业级Linux数据库相关操作

企业级Linux数据库相关操作

企业级Linux数据库相关操作

恢复成功!

#6.安装phpmyadmin数据库图形管理
1.下载phpMyAdmin-3.4.0-all-languages
2.yum install php php-mysql -y                            ###安装php php-mysql 软件
3.systemctl restart httpd                                       ###重启apache
4.tar jxf phpMyAdmin-3.4.0-all-languages -C mysqladmin    ###将下载好的软件解压到/var/www/html/mysqladmin目录中
6.cd mysqladmin                                                  ###下面的操作可以不做
7.cp config.sample.inc.php config.inc.php
8.vim config.inc.php
$cfg['blowfish_secret']='ba17c1ec07d65003';

测试:
http://172.25.254.106/mysqladmin

企业级Linux数据库相关操作

企业级Linux数据库相关操作

此软件用来管理数据库非常方便,对于不懂数据库的初学者很友好。