Linux系统工程师3--4.mysql数据库的基本管理

目录

 1.数据库的介绍

2.mariadb的安装

3.软件基本信息 

4.数据库开启

5. 数据库的安全初始化

5.1.关闭数据库开放端口

5.2.执行安全初始化脚本

6.数据库的基本管理

6.1.查看

6.2.新建

6.3.更改

6.4.删除

6.5.刷新

7.数据库密码管理

7.1.数据密码更改

7.2.数据库密码破解

8.phpmyadmin的安装

9.数据库的备份

 10.用户授权


 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. 数据库的安全初始化

5.1.关闭数据库开放端口

vim /etc/my.cnf.d/mariadb-server.cnf
skip-networking=1

systemctl restart mariadb

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

5.2.执行安全初始化脚本

mysql_secure_installation
            set root password                                    #设置root密码
            remove aninymous users                        #移除匿名用户登陆
            disallow root login remotely                    #拒绝远程root登陆
            remove test database and access to it     #移除测试数据库
            reload privilege tables now                     #重新加载表数据

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

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

 

 

 

 

6.数据库的基本管理

6.1.查看

SHOW DATABASES;                #显示库名称
USE mysql;                              #进入mysql库
SHOW TABLES;                    #显示库中的所有表
SELECT * FROM user;             #查询所有数据
SELECT Host,User,Password FROM user;            #查询指定字段
SELECT Host FROM mysql.user WHERE User='root'

 

 

6.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'),('user2','222');     #插入数据

 

6.3.更改


ALTER TABLE linux RENAME redhat;                                       #重命名
ALTER TABLE linux ADD age varchar(4) AFTER password;         #指定位置添加数据类型
UPDATE linux SET username='us2' WHERE username='user2';    #更新表数据

 

 

6.4.删除

DELETE from linux where username='user2' and age='18';   #删除指定数据
ALTER TABLE linux DROP age;                                       #删除表中指定的数据类型
DROP TABLE linux;                                                        #删除表
DROP DATABASE westos;                                              #删除库

 

 

6.5.刷新

FLUSH PRIVILEGES;                           #刷新数据库

7.数据库密码管理

7.1.数据密码更改

mysqladmin  -uroot -p password westos        #知道密码的情况下修改密码

7.2.数据库密码破解

systemctl stop mariadb
mysqld_safe --skip-grant-tables &            #跳过认证表

UPDATE mysql.user set Password=password('lee') WHERE User='root';                    #当未使用过mysladmin更改过密码,修改Password

UPDATE mysql.user set authentication_string=password('lee') WHERE User='root';    #当使用过mysladmin更改过密码,修改authentication_string
ps aux | grep mysql
kill -9 mysql的所有进程
systemctl start mariadb

 

 

8.phpmyadmin的安装

dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
firewalld-cmd --add-service=httpd
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.gz

mkdir /westos
mv phpMyAdmin-3.4.0-all-languages /westos
cd /westos/phpMyAdmin-3.4.0-all-languages
cp config.sample.inc.php  config.inc.php
######vim config.inc.php
######['blowfish_secret']='ba17clec07d65003';
systemctl restart httpd
firefox http://172.25.254.121/westos

9.数据库的备份

备份就是用代码把库里的数据再创建一次,备份如果不定向到文件中,意味着只是查看并不会产生备份文件
mysqldump -uroot -pwestos --all-database                     #所有数据库
mysqldump -uroot -pwestos --all-database --no-data       #数据库的框架,不包括数据

mysqldump -uroot -pwestos westos            
mysqldump -uroot -pwestos westos > /mnt/westos.sql    #把westos数据库备份到westos.sql文件中

恢复1:
mysql -uroot -pwestos -e "DROP DATABASE westos;"
mysql -uroot -pwestos -e "CREATE DATABASE westos"
mysql -uroot -pwestos westos < /mnt/westos.sql             #恢复数据库westos,如果没有修改sql文件需要先建立数据库

恢复2:
mysql -uroot -pwestos -e "DROP DATABASE westos;"
vim /mnt/westos.sql
 21 CREATE DATABASE westos;
 22 USE westos;
mysql -uroot -pwestos < /mnt/westos.sql                      #不用指定数据库,可以直接恢复

 

 10.用户授权

vim /etc/my.cnf.d/mariadb-server.cnf
注释掉21行,表示可以远程登陆

CREATE USER westos@localhost identified by 'westos';           #只能用localhost登陆,密码westos
CREATE USER lee@'%' identified by 'westos';                           #可以通过网络或localhost登陆,密码westos
SELECT *FROM mysql.user;                                                      #查看用户

 

GRANT SELECT  ON westos.* TO lee@‘%’;                             #给予lee查看数据库westos的权力

 


SHOW GRANTS for lee@localhost;                                           #查看权力

REVOKE SELECT ON westos.* FROM lee@localhost;            #删除给lee查看数据库westos的权力

DROP user lee@localhost;                                                       #删除用户

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值