Linux系统中对数据库使用和管理

数据库是IP行业的金饭碗
1.定义:高级的excel表格软件
2.知名的数据库 oracle(不是开源的) mysql(开源) mariadb(mysql中一个分支)

一.安装数据库

1.安装数据库软件

yum install mariadb-server -y

2.开启服务

systemctl start mariadb

3.安全初始化
不做安全初始化的话数据库无密码登陆不安全
在这里插入图片描述

mysql_secure_installation  ##安全初始化

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

mysql -uroot -p

此时如果不输入密码或者输入错误密码,将进不去
在这里插入图片描述
在这里插入图片描述
4.关闭mysql数据库网络接口,因为开启接口不安全,容易受到数据库攻击(攻击指篡改数据库内容)。

netstat -antlupe | grep mysql  ##查看数据库端口是开启的
vim /etc/my.cnf
10  skip-networking=1
systemctl restart mariadb
netstat -antlupe | grep mysql  ##查看数据库网络接口关闭

在这里插入图片描述

二.数据库的管理

1.登陆数据库

mysql -uroot -p

在这里插入图片描述
2.列出库

SHOW DATABASES;  	##列出库

在这里插入图片描述
3.进入mysql库

USE mysql;  		##进入mysql库

在这里插入图片描述
4.显示mysql数据库中的表

SHOW TABLES;		##显示表

在这里插入图片描述
5.在user表中查询所有

SELECT * FROM user;

在这里插入图片描述
6.在user表中查询指定的属性

SELECT Host,User,Password FROM user;	

在这里插入图片描述

三.创建数据库和表

1.建立westos库

mysql -uroot -p
CREATE DATABASE westos;			##建立库
SHOW DATABASES

在这里插入图片描述
2.在westos库中建立linux表

USE westos				##进入库
CREATE TABLE linux(			##建立表
    -> username varchar(10) not null,
    -> password varchar(50) not null
    -> );

在这里插入图片描述
3.向westos表中添加内容

DESC linux;				##查看表结构
INSERT INTO linux VALUES('tony','123');	##插入数据到linux表中
INSERT INTO linux VALUES('pake','123');	
SELECT * FROM linux;       		##查看所有字段在linux表中
SELECT username,password from linux;	##查询指定字段在linux表中

在这里插入图片描述
在这里插入图片描述
4.更改

UPDATE linux SET password=password('tony') where username='tony';

在这里插入图片描述

四.管理数据库的用户

1.创建用户

CREATE USER tony@localhost identified by 'redhat';
##创建用户的名称是tony,密码是redhat
##tony@localhost表示tony用户只能本机登陆,@表示该用户可以远程登陆

在这里插入图片描述
2.查看数据库中的用户

SELECT User FROM mysql.user;   ##查看mysql中的用户

在这里插入图片描述
3.用户授权

GRANT INSERT,UPDATE on westos.* to tony@localhost;

在这里插入图片描述
4.显示特定用户对数据库的权限

SHOW GRANTS FOR tony@localhost;

在这里插入图片描述
5.撤销特定授权

REVOKE INSERT ON westos.* FROM tony@localhost;

在这里插入图片描述
6.重新加载授权表

FLUSH PRIVILEGES;

在这里插入图片描述
7.删除tony用户

DROP USER tony@localhost

在这里插入图片描述

五.数据库的备份

1.备份数据库到指定位置

mysqldump -uroot -pwestos westos > /mnt/westos.sql      ##备份数据库到指定的位置
mysqldump -uroot -pwestos westos  --no-data		

2.备份所有数据库

mysqldump -uroot -pwestos --all-database		##备份框架和内容
mysqldump -uroot -pwestos --all-database --no-data	##只备份框架,不备份内容

3.删除备份的数据库

mysql -uroot -predhat -e "DROP DATABASE westos;"

在这里插入图片描述
4.数据库的恢复

mysql -uroot -predhat westos </mnt/westos.sql

由于数据库中已经没有westos数据库,恢复的时候会遇到问题
在这里插入图片描述
恢复方式1

mysqldump -uroot -pwestos -e "CREATE DATABASE westos;"
mysqldump -uroot -pwestos westos < /mnt/westos.sql

在这里插入图片描述
恢复方式2

vim /mnt/westos.sql
21行 CREATE DATABASE westos;
22行 USE westos;
mysqldump -uroot -pwestos < /mnt/westos.sql

在这里插入图片描述
六.数据库密码忘记
1.关闭数据库

systemctl stop mariadb

2.跳过注册表直接登陆数据库,把他打入后台

mysqld_safe --skip-grant-table &

在这里插入图片描述
3.不需要密码登陆数据库

mysql

4.修改数据库root密码

update mysql.user set Password='123' WHERE User='root'; 	##密码明文显示,不安全
update mysql.user set Password=('123') WHERE User='root';	##密码密文显示

在这里插入图片描述
5.结束掉mysql的所有进程

ps aux | grep mysql 
kill -9 mysql的所有进程id

在这里插入图片描述
在这里插入图片描述
6.打开数据库

systemctl start mariadb

七.安装phpmyadmin数据库图形管理

1.下载phpMyAdmin-2.11.3-all-languages
2.yum install php php-mysql -y
3.

yum install httpd
systemctl restart httpd
phpMyAdmin-2.11.3-all-languages -------- >/var/www/html`
mv phpMyAdmin-2.11.3-all-languages/ mysqladmin

在这里插入图片描述
3.

cd mysqladmin
cp config.sample.inc.php config.inc.php
vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';
less Documentation.txt  ##上边这个在这里哦!

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

测试:
http://172.25.254.117/mysqladmin
(注意:如果还不行清除缓存)
在这里插入图片描述
创建数据库linux
在这里插入图片描述在这里插入图片描述查看数据库是否被更改
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chaos_oper/article/details/84575163