Mysql数据库的基本管理

一.数据库的介绍

1.什么是数据库

数据库就是个高级的表格软件

2.常见数据库

Mysql Oracle mongodb db2 sqlite sqlserver …

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

4.mariadb

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

二.mariadb的安装

dnf install mariadb-server.x86_64 -y

三.软件基本信息

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

四.数据库开启

systemctl enable --now mariadb

五.数据库的安全初始化

1.关闭数据库开放端口

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

systemctl restart mariadb

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

2.执行安全初始化脚本

mysql_secure_installation

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

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

六.数据库的基本管理

1.查看

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

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;		//将redhat重命名为linux
ALTER TABLE linux ADD age varchar(4) AFTER password;	//添加一项
ALTER TABLE linux DROP age;			//删除age项
UPDATE linux SET age='24' WHERE username='user2';	//user2的年龄为24

4.删除

DELETE from linux where username='user2' and age='18';	//删除user2且age=18的行
DROP TABLE linux;	//删除表linux
DROP DATABASE westos;	//删除数据库linux

七.数据密码管理

1.数据密码更改

shell中

mysqladmin  -uroot -p password westos // 将密码修改成westos

2.数据库密码破解

(1)shell中设置:

systemctl stop mariadb		//先暂停mysql进程
mysqld_safe --skip-grant-tables &	//将跳过验证表的进程打入后台

(2)mysql中设置:

二选一:

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

(3)shell中设置:

flush privileges;				//重新加载数据库
ps aux | grep mysql				//查询mysql相关的进程id
kill -9 jobs id					//杀掉所有的mysql相关进程
systemctl start mariadb			//重启mysql

八.用户授权

1.创建本地和远程用户

mysql中的root进行

CREATE USER hkk@localhost identified by 'westos';	##hkk只能用localhost登陆,密码是westos
CREATE USER westos@'%' identified by 'westos';		##westos可以通过网络或localhost登陆,密码是westos

2.用户授权的增加和删除

只能在mysql的root用户进行

GRANT INSERT,SELECT  ON westos.* TO westos@localhost;	//给用户增和浏览的权力
SHOW GRANTS for westos@localhost;	//查看用户的授权,只能在mysql的root用户下看授权。
REVOKE SELECT ON westos.* FROM westos@localhost;		//删除用户的授权

3.删除用户

只能在mysql的root用户进行

DROP user westos@localhost;				//删除用户

4. 远程登陆

只能在有mariadb的终端的shell中进行

vim /etc/my.cnf.d/mariadb-server.cnf 
	#skip-networking=1			//将这个注释掉,不跳过网络。
systemctl stop firewalld.service 		//关闭火墙
systemctl restart mariadb.service 		//重启服务
mysql -uwestos -p -h 172.25.254.241		//可以远程登陆
mysql -uhkk -p -h 172.25.254.241		//不可以远程登陆

九.数据库的备份

1.库的备份

shell中:

mysqldump -uroot -p123 --all-databases						//备份所有的库
mysqldump -uroot -p123 --all-database --no-data			//备份所有的库的结构,不要数据
mysqldump -uroot -p123 westos									//备份指定的westos库
mysqldump -uroot -p123 westos > /mnt/westos.sql		//备份指定的库到指定的路径

2.测试

(1)test1(先创建库再导入):

mysql -uroot -p123 -e "create database westos;"
mysql -uroot -p123 westos < /mnt/westos.sql

(2)test2(一次性完成):

shell中进行:

vim /mnt/westos.sql
	CREATE DATABASE westos;
	USE westos;
mysql -uroot -p123  < /mnt/westos.sql

十.phpmyadmin的安装

实验步骤:

1、http、php下载安装及启用,火墙通过。

dnf install httpd -y
dnf install php -y
systemctl enable --now httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload 

2、下载安装phpmysqladmin,及解压安装

tar jxf  cp phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/
		//-C 指定解压到的路径

3、phpMyAdmin-3.4.0-all-languages移动路径

mv phpMyAdmin-3.4.0-all-languages/ mysqladmin

4、插件的配置文件

 cp config.sample.inc.php config.inc.php

5、配置文件的修改

cd /var/www/html/mysqladmin
less Documentation.txt //找到一串数字,在quick install那里
vim config.inc.php   //把数字放进去

6、php额外插件安装

 dnf install php-mysqlnd.x86_64 -y		//额外插件的安装

7、重启服务

systemctl restart httpd

8、测试:

firefox http://172.25.254.241/mysqladmin
上一篇:Apache的语言支持


下一篇:Linux入门四:如何在linux中查询命令用法与输入输出管理