Linux系统mariadb数据库

本文详细介绍MariaDB数据库的安装、配置、基本管理操作、安全初始化、用户授权、备份与恢复,以及密码管理等核心内容,同时涵盖通过phpMyAdmin进行图形化管理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

##########mariadb数据库#################

GPL:
General Public License 通用公共许可证

GNU = GNU is NOT Unix

minix ====> linux

mariadb 是 MySQL 替代品:避免MySQL闭源
MariaDB 数据库管理系统是MySQL 的一个分支,主要由开源社区在维护,采用GPL 授权认可 MariaDB 的目的是完全兼容MYSQL , 包括 API 和命令行,是MySQL 的替代品
MariaDB 由MyAQL 的创始人 Michael Widenius 主导开发,他曾经以10E 美元的价格把自己创建的公司 MySQL AB 卖给了 SUN ,此后随着SUN 被Oracle 收购,MySQL数据库就被Oracle垄断

	yum install mariadb-server -y

	systemctl start mariadb
	systemctl status mariadb


	数据库的登陆: mysql(登陆之后的命令一般规范用大写,每条命令都以;结尾)

在这里插入图片描述

	数据库的查看: SHOW DATABASES;

在这里插入图片描述

	表查看:USE mysql; SHOW TABLES ;

在这里插入图片描述

	表内容查看:	SELECT * FROM USER;

	quit退出

	mysqld端口:3306

	vim /etc/my.cnf 数据库的配置文件
	
	[mysqld]
	skip-networking=1		关闭对外的3306端口

	mysql_secure_installation 安全初始化				会更改root密码

	先俩次enter变是确认安全初始化,后输入俩次相同密码,更改root密码

在这里插入图片描述

##########数据库基本管理#########
安全初始化后登陆需输入密码
在这里插入图片描述

	mysql -uroot -p						输入暗文密码登陆

在这里插入图片描述

	mysql -uroot -predhat			输入明文密码登陆>>>> -p后面 的就是密码

在这里插入图片描述

	SHOW DATABASES;		查看数据库
	USE mysql;						查看数据表

查询

		查看表结构: DESC user;

在这里插入图片描述

	针对字段搜索: SELECT Host,User,Select_priv FROM user;

在这里插入图片描述

	增加搜索条件: SELECT Host,User,Select_priv FROM user WHERE Host='localhost';

在这里插入图片描述

################建立#################################

	CREATE DATABASE westos;				新建一个westos 库
	SHOW DATABASES

在这里插入图片描述

	USE westos
	SHOW TABLES;								查看库下内容

在这里插入图片描述

	CREATE TABLE linux(							添加一个表,名为linux
	-> username varchar(10) not null,			设定用户名称不超过10位
	-> password varchar(30) not null			设定用户密码不超过30位
	-> );
	不将命令放到统一行是为了方便排错

在这里插入图片描述

	DESC linux;
	INSERT INTO linux values ('wap','123');					在linux表内添加内容

在这里插入图片描述

	SELECT * FROM linux;
	SELECT username,password FROM linux;					查看添加情况

在这里插入图片描述

###########更改#######

	ALTER TABLE linux ADD class varchar(10);			表格内添加新的内容
	DESC linux;

在这里插入图片描述

	ALTER TABLE linux ADD age varchar(4) AFTER password;  添加字段在password后
	DESC linux;

在这里插入图片描述

	ALTER TABLE linux DROP age;
	ALTER TABLE linux RENAME user;          重命名表
	SELECT * FROM user;

在这里插入图片描述

	UPDATE user SET class='linux' WHERE username='wap' AND password='123';  
	把名字是wap	密码是123的   更新值为linux
	SELECT * FROM user;

在这里插入图片描述

	INSERT INTO user VALUES ('wsp1','456','python');		添加新的一行,名字为wsp1,密码为456,class为python
	SELECT * FROM user;

在这里插入图片描述

#######删除############

	DELETE FROM user WHERE username='wap';			删除一个用户名是wap的
	SELECT * FROM user;

在这里插入图片描述

	SHOW TABLES;
	DROP TABLE user;						删除user表
	SHOW TABLES;

在这里插入图片描述

	DROP DATABASE westos;				删除westos库
	SHOW DATABASES;

在这里插入图片描述

#######用户授权#############

	create user westos@localhost identified by 'westos';	
	创建本地用户westos,并设置其密码为westos
	SELECT * FROM mysql.user;		(列出的用户表可能会因为部分显示问题,显得不规范)

在这里插入图片描述
在这里插入图片描述

	GRANT SELECT ON userdata.* TO westos@localhost;		授权
	FLUSH PRIVILEGES;			重新加载用户表
	SELECT * FROM mysql.user;

在这里插入图片描述

方法2

	GRANT SELECT ON userdata.* TO westos@localhost IDENTIFIED BY 'wsp';
	用一条命令进行创建用户加授权
	

	REVOKE SELECT ON userdata.* FROM westos@localhost 	撤销权限

在这里插入图片描述

#############备份与恢复#############

	mysqldump -uroot -predhat westos > /mnt/userdata.sql		
	将westos数据库备份到 /mnt/westos.sql
	
	mysql -uroot -predhat -e "DROP DATABASE westos"			删除原版的westos库		
	mysql -uroot -predhat -e "SHOW DATABASES;"

在这里插入图片描述

恢复方法1:

	【root@localhost ~】# mysql -uroot -predhat < /mnt/userdata.sql
		ERROR 1046 (3D000) at line 22: No database selected

	vim /mnt/userdata.sql

	  21 CREATE DATABASE userdata;
	  22 USE userdata;

	mysql -uroot -predhat
	SHOW DATABASES;
	SELECT * FROM userdata.usertab;

恢复方法2:

	mysql -uroot -predhat -e "DROP DATABASE userdata;"
	mysql -uroot -predhat -e "CREATE DATABASE userdata;"
	vim /mnt/userdata.sql

删除21 22行

	mysql -uroot -predhat userdata < /mnt/userdata.sql	指定导入到userdata库

############密码更改和破解##########

	mysqladmin -uroot -predhat password westos		更改root的原密码redhat为westos

在这里插入图片描述

超户密码忘记

	systrmctl stop mariadb

在这里插入图片描述

	mysqld_safe --skip-grant-tables &
	mysql

在这里插入图片描述

	UPDATE mysql.user SET Password='redhat' WHERE User='root';	密码是明文
	UPDATE mysql.user SET Password=password('redhat') WHERE User='root';	密码是暗文

	把root现在的密码更改为redhat(之前我们改成了westos,现在改回redhat)

在这里插入图片描述

	ps aux | grep mysql						过滤所有mysql的进程

	killall -9 mysql 		关闭全部mysql 进程(killall不能干掉的进程用 kill -9 加进程id)

在这里插入图片描述

	systemctl start mariadb
	mysql -uroot -predhat

在这里插入图片描述

##########phpMyAdmin###########
在浏览器中以图形化方式访问 数据库

	yum install httpd -y							安装htppd服务

	firewall-cmd --permanent --add-service=http		把http服务添加到火墙
	firewall-cmd --reload							重启火墙

	tar zxf phpMyAdmin-4.0.10.20-all-languages.tar.gz -C /var/www/html/		
	将压缩包解压到http服务的默认目录内
	
	mv phpMyAdmin-4.0.10.20-all-languages phpMyAdmin		更改解压后的文件名字

	yum insatll php -y							安装php
	systemctl restart httpd					

	yum install php-mysql php-mbstring-5.4.16-21.el7.x86_64.rpm

	systemctl restart httpd

浏览器访问

	http://172.25.254.103/phpMyAdmin
	root --> redhat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值