数据库
数据库是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';
##password=‘tony’更改的密码会以明文的方式显示,password=password('tony')以密文的方式显示
四.管理数据库的用户
1.创建用户
CREATE USER tony@localhost identified by 'redhat';
创建用户的名称是tony,密码是redhat
tony@localhost表示tony用户只能本机登陆,test@'%':表示test可以从远程登陆数据库
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 ##将库westos整个备份
mysqldump -uroot -pwestos westos --no-data > /mnt/westos.sql ##将westos库的结构备份,不备份数据
2.备份所有数据库
mysqldump -uroot -pwestos --all-database > /mnt/alldata.sql ##备份框架和内容
mysqldump -uroot -pwestos --all-database --no-data > /mnt/alldata.sql ##只备份框架,不备份内容
3.删除westos的数据库
mysql -uroot -pwestos -e "DROP DATABASE westos;" ##-e:参数后加动作:删除westos库
4.数据库的恢复
mysql -uroot -pwestos westos </mnt/westos.sql
由于数据库中已经没有westos数据库,恢复的时候会遇到问题
恢复方式1
mysql -uroot -pwestos -e "CREATE DATABASE westos;" ##先新建westos库,再恢复数据
mysql -uroot -pwestos westos < /mnt/westos.sql ##从备份的目录中恢复
恢复方式2
vim /mnt/westos.sql ##删除westos库,直接在备份文件中写入创建数据库命令
21行 CREATE DATABASE westos;
22行 USE westos;
mysql -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=password('123') WHERE User='root'; ##密码密文显示
5.结束掉mysql的所有进程,保留grep进程,这是此条命令的进程
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
4.
phpMyAdmin-2.11.3-all-languages.tar.bz2 -------- >/var/www/html
tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2 ##解压
5.
5.mv phpMyAdmin-2.11.3-all-languages/ mysqladmin
6.cd mysqladmin
7.cp config.sample.inc.php config.inc.php
8.vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';
less Documentation.txt ##上边这个$cfg['blowfish_secret']
9.systemctl restart httpd.service ##重启http
测试:
http://172.25.254.147/mysqladmin 如果还不行清除缓存
用命令方式查看是否建立成功:
使用图形与使用命令的结果是相同的。