linux 数据库

1.数据库的介绍

1.什么是数据库
数据库就是个高级的表格软件
数据库在不设定的情况下不允许其他主机登陆(安全性)

2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver …

3.Mysql (SUN -----> Oracle)

4.mariadb
##数据库中的常用名词##
1.字段 :表格中的表头
2.表 :表格
3.库 :存放表格的目录
4.查询 :对表格中的指定内容进行查看

2.mariadb的安装

dnf install mariadb-server.x86_64 -y

3.软件基本信息

mariadb.service ##启动服务
3306 ##默认端口号
/etc/my.cnf.d/mariadb-server.cnf ##主配置文件
/var/lib/mysql ##数据目录,当需要重新安装mariadb时需要清理此目录或备份

4.数据库开启

systemctl enable --now mariadb

5.数据库的安全初始化

1.关闭数据库开放端口
关闭端口为了防止别人通过ip连接你的主机访问你的数据库

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

[mysqld]
skip-networking=1

systemctl restart mariadb

netstat -antlupe  | grep mysql	#此命令查询不到端口

在这里插入图片描述

2.执行安全初始化脚本
mysql_secure_installation

默认不需要密码,初始化完毕后需要
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@Mariadb ~]# mysql -u root -p	## -u 指定登陆用户 -p 密码

6.数据库的基本管理

1.查看

SHOW DATABASES; ##显示库名称

MariaDB [westos]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| westos             |
+--------------------+
4 rows in set (0.000 sec)

USE mysql; ##进入mysql库

MariaDB [mysql]>USE mysql;

SHOW TABLES; ##显示库中的所有表

MariaDB [mysql]> SHOW TABLES;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| column_stats              |
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| gtid_slave_pos            |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| index_stats               |
| innodb_index_stats        |
| innodb_table_stats        |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| roles_mapping             |
| servers                   |
| slow_log                  |
| table_stats               |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| transaction_registry      |
| user                      |
+---------------------------+

SELECT * FROM user; ##查询所有数据
SELECT Host,User,Password FROM user; ##查询指定字段

MariaDB [mysql]> SELECT Host,User,Password FROM user;
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
| 127.0.0.1 | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
| ::1       | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |
+-----------+------+-------------------------------------------+

SELECT Host FROM mysql.user WHERE User=‘root’ #查询指定数据

MariaDB [mysql]> SELECT Host FROM mysql.user WHERE User='root';
+-----------+
| Host      |
+-----------+
| 127.0.0.1 |
| ::1       |
| localhost |
+-----------+
3 rows in set (0.000 sec)

2.新建

CREATE DATABASE westos; ##新建库
CREATE TABLE linux ( ##新建表,新建立的时候必须写入表头
username varchar(6) not null,
password varchar(30) not null
);

DESC linux; ##显示表结构

INSERT INTO linux VALUES (‘user1’,‘123’); #插入数据

FLUSH PRIVILEGES; #刷新数据库

3.更改

ALTER TABLE redhat RENAME linux; # 更改表名字
ALTER TABLE linux ADD age varchar(4) AFTER password; # 添加一列age在password之后;默认在最后一行

MariaDB [westos]> SELECT * FROM linux;
+----------+----------+------+------+------+
| username | password | age  | QWE  | sex  |
+----------+----------+------+------+------+
| user1    | 123      | NULL | NULL | NULL |
| user2    | 666      | NULL | NULL | NULL |
+----------+----------+------+------+------+

ALTER TABLE linux DROP age; # 删除age这一列
UPDATE linux SET user1=‘music’ WHERE username=‘user1’; # 将user1改为music 指定username=user1 这一数据(如果还是没有特征性可以在后面加and age=11等,知道确认为止)

4.删除

DELETE from linux where username=‘user2’ and age=‘18’; # 删除username=‘user2’ and age='18’这一行
DROP TABLE linux; # 删除linux这个表
DROP DATABASE westos; # 删除westos这个库

7.数据密码管理

1.数据密码更改

mysqladmin -u root -p password
原密码
新密码

[root@westoslinux ~]# mysqladmin -uroot -p password  
Enter password: 
New password: 
Confirm new password: 

2.数据库密码破解(当你忘记密码时登陆)

systemctl stop mariadb     #停止服务
mysqld_safe --skip-grant-tables &    #将登陆认证程序打入后台运行
mysql -u root  登陆(不需要输入密码)

此时登陆无需密码

效果图如下:
在这里插入图片描述

当未使用过mysladmin更改过密码

UPDATE mysql.user set Password=password(‘lee’) WHERE User=‘root’; #

当使用过mysladmin更改过密码

UPDATE mysql.user set authentication_string=password(‘lee’) WHERE User=‘root’;
flush privileges; # 刷新数据库
ps aux | grep mysql # 查看mysql的进程
在这里插入图片描述

kill -9 mysql的所有进程 # 关闭所有进程(防止其他人无密码登陆数据库)
在这里插入图片描述

systemctl start mariadb # 重启

8.用户授权

CREATE USER lee@localhost identified by 'lee';	##只能用localhost登陆
CREATE USER lee@% identified by '%';		##可以通过网络或localhost登陆
GRANT INSERT,SELECT  ON westos.* TO lee@localhost;
SHOW GRANTS for lee@localhost;
REVOKE SELECT ON westos.* FROM lee@localhost;
DROP user lee@localhost;

mysql -uwestos -p -h 172.25.254.140 用别人主机授权过的远程用户的登陆数据库
在这里插入图片描述

9.数据库的备份

mysqldump -uroot -p123 --all-database 备份数据
mysqldump -uroot -p123 --all-database --no-data 只备份格式

mysqldump -uroot -p123 westos 查看备份文件自动导入/mnt/westos.sql
mysqldump -uroot -p123 westos > /mnt/westos.sql 不查看将备份文件导入文件

test1:备份后删除原有数据库,实验新建数据库
mysql -uroot -p123 -e “create database westos;” 新建westos数据库
(-e “命令” 不打开mysql输入命令)
mysql -uroot -p123 westos < /mnt/westos.sql 将备份文件输入到westos
在这里插入图片描述

test2:备份后删除原有数据库

vim /mnt/westos.sql 在文件中编辑:
CREATE DATABASE westos;
USE westos;

systemctl restart mysqld 重启
mysql -uroot -p123 < /mnt/westos.sql 将备份文件输入进新数据库

10.phpmyadmin的安装

phpmyadmin 安装后可以在软件中进行操作,更加简单方便的管理数据库

dnf install httpd php php-mysqlnd -y        ## 下载httpd php php-mysqlnd 
systemctl enable --now httpd                ## 开启httpd服务
systemctl stop firewalld                    ## 停止火墙
firefox:172.25.254.250/software  
wget http://172.25.254.250/software/phpMyAdmin-3.4.0-all-languages.tar.bz2 ##下载  
cp phpMyAdmin-3.4.0-all-languages.tar.bz2 /var/www/html/  # 压缩包复制到指定路径
cd /var/www/html/      # 切换路径
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2     # 解压 
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin      # 重命名
cd mysqladmin         # 进入目录
cp config.sample.inc.php  config.inc.php  # 重命名
less Documentation.txt    # 查看这个文件 
vim config.inc.php       # 编辑文件
dnf install php-mysqlnd.x86_64 -y    # 下载插件
systemctl restart httpd   # 重启

firefox http://192.168.0.12/mysqladmin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值