Linux系统工程师 3.4 -- mysql数据库管理

目录

mysql数据库的基本管理

1、数据库的介绍

2、mariadb的安装

3、软件基本信息

 4、数据库开启

5、数据库的安全初始化

1.关闭数据库开放端口

2.执行安全初始化脚本

6、数据库的基本管理

1.查看

2.新建

 3.更改

4.删除

7、数据库密码管理

1.数据密码更改

2.数据库密码破解

8、用户授权

9、数据库的备份

 10、phpmyadmin的安装


mysql数据库的基本管理

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、软件基本信息

rpm -qc mariadb-server                  ##查看服务相关信息
netstat -antlupe | grep mysql          ##查看端口

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

 4、数据库开启

systemctl enable --now mariadb

5、数据库的安全初始化

1.关闭数据库开放端口

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

skip-networking=1            #关闭默认端口
systemctl restart mariadb        #重启
netstatus -antlupe  | grep mysql    #此命令查询不到端口,使其更加安全

2.执行安全初始化脚本

mysql_secure_installation
Set root password? [Y/n]                      
Remove anonymous users? [Y/n]         #移除匿名用户登录
Disallow root login remotely? [Y/n]        #拒绝远程用户登录
Remove test database and access to it? [Y/n]    #移除数据库测试
Reload privilege tables now? [Y/n]        #重新加载表数据库
[root@Mariadb ~]# mysql                      ##默认不需要密码,初始化完毕后需要
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

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

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'   #查找mysql库中user表里 User为root的Host字段数据

2.新建

CREATE DATABASE westos;			##新建库
CREATE TABLE linux (			##新建表
username varchar(6) not null,		  添加字段(表头为username,字段最长为6且不为空)
password varchar(30) not null
);
DESC linux;				##显示表结构
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(8)  | NO   |     | NULL    |       |
| passwd   | varchar(30) | NO   |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
INTO linux VALUES ('user1','123'),('user2','456'); 	#插入两条数据用,(逗号)间隔
FLUSH PRIVILEGES;			#刷新数据库 (作出修改密码等更改后,怕数据丢失,用此命令,无需重启服务,使新设定生效)

 3.更改

ALTER TABLE linux RENAME aaa;		#更改linux表名为aaa
ALTER TABLE linux ADD age varchar(4) AFTER password;	#指定位置password后面插入字段age,字段长最大为4
ALTER TABLE linux DROP age;		#删除age字段
UPDATE linux SET age=18' WHERE username='user2';	#添加字段username的年龄age为18,后面不跟where参数的话,表示给所有字段添加年龄

4.删除

DELETE from linux where username='user2' and age='18';	#删数据
DROP TABLE linux;	#删表
DROP DATABASE westos;	#删库

7、数据库密码管理

1.数据密码更改

mysqladmin  -uroot -p password westos    (知道原密码)

2.数据库密码破解

systemctl stop mariadb			#停止mariadb服务
mysqld_safe --skip-grant-tables &	#跳过授权表启动数据库 (& 表示打入后台,否则太占用系统资源)
mysql -uroot				#打开数据库
USE mysql --> SELECT * FROM user	#进入数据表,其表头中有Password 和 authentication_string
(select * from mysql.user)
UPDATE mysql.user set Password=password('westos') WHERE User='root';		##当未使用mysqladmin更改过密码
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root';	##当使用mysqladmin更改过密码
					   ='westos'  {passwd('密码')表示用加密字符加密。}

ps aux | grep mysql
kill -9 进程号	mysql的所有进程
systemctl start mariadb

8、用户授权

环境:
vim /etc/my.cnf.d/mariadb-server.cnf            #注释之前实验添加的 ‘关闭默认端口语句’
#skip-networking=1
systemctl restart mariadb.service             #重启;关火墙
systemctl stop firewalld.service             

实验:

CREATE USER lee@localhost identified by 'lee';		##只能用localhost登陆(本地登录)
CREATE USER westos@% identified by 'westos';		##可以通过网络或localhost登陆
SELECT * FROM mysql.user;				#查看所有用户

GRANT INSERT,SELECT  ON westos.* TO lee@localhost;	#添加权限可以访问westos数据库
SHOW GRANTS for lee@localhost;				#查看lee用户的信息
mysql -ulee -plee					#进入lee用户可以查看到westos
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| westos             |
+--------------------+

REVOKE SELECT ON westos.* FROM lee@localhost;		#删除lee的访问westos权限
DROP user lee@localhost;				#删除用户

9、数据库的备份

备份
mysqldump -uroot -p123 --all-database            #备份所有数据库
mysqldump -uroot -p123 --all-database --no-data        #备份所有数据库表不要其中的数据

mysqldump -uroot -p123 westos                #备份数据库westos
mysqldump -uroot -p123 westos > /mnt/westos.sql        #备份数据库westos并保存备份文件到/mnt/westos.sql

恢复
test1:
mysql -uroot -p123 -e "create database westos;"        #新建空的westos库
mysql -uroot -p123 westos < /mnt/westos.sql        #导入备份文件

test2:
vim /mnt/westos.sql                    #编辑备份文件,在其中加上创建和使用westos库的sql语句
CREATE DATABASE westos;                    **注意此处修改后,第一种方法将不可用
USE westos;

mysql -uroot -p123  < /mnt/westos.sql            #直接导入备份文件,不指定库

 10、phpmyadmin的安装

dnf install httpd php php-mysqlnd -y            安装php、http、php插件
systemctl enable --now httpd                打开http,关闭firewalld
systemctl stop firewalld
cp phpMyAdmin-3.4.0-all-languages.tar.gz  /var/www/html/ 复制解压重命名
cd /var/www/html/                    
tar zxf phpMyAdmin-3.4.0-all-languages.tar.gz        
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin        
cd mysqladmin                        
php -m                            查看插件是否匹配
vim /var/www/html/mysqladmin/Documentation.txt        查看安装配置php服务的说明
cp config.sample.inc.php  config.inc.php        根据说明复制文件

firefox http://172.25.254.220/mysqladmin        测试
Ctrl+Shift+Delete    浏览器清除缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值