在linux下下载并使用MySQL,MySQL密码忘记了怎么办?怎么对MySQL数据库进行备份?怎么使用图形化工具管理MySQL?

Posted Tuki_a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在linux下下载并使用MySQL,MySQL密码忘记了怎么办?怎么对MySQL数据库进行备份?怎么使用图形化工具管理MySQL?相关的知识,希望对你有一定的参考价值。

什么是MySQL

MySQL是关系型数据库的一种
MySQL底下还有很多分支,比如mariadb
可以使用结构化查询语言SQL来对数据库进行增删查改操作

MySQL的安装

我们安装MySQL的一种mariadb,先搜索一下我们的软件仓库有哪些可以安装
在这里插入图片描述
进行安装dnf install mariadb-server.x86_64 -y
安装好后开启mariadb,systemctl enable --now mariadb
在这里插入图片描述

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

输入mysql,进入如下页面即安装成功,输入quit退出
在这里插入图片描述

对MySQL进行简单的配置

安全初始化

mariadb默认是无密码的,安全起见我们为其设置密码,执行mysql_secure_installation命令即可
在这里插入图片描述
在这里插入图片描述
设置结束后我们就需要使用密码才能登录
mysql -uroot -p  ##密码在之后输入,不会被看到
mysql -uroot -plucky  ##密码是明文,直接暴露
##可以把mysql -uroot -plucky命令放到脚本里,再配合使用加密工具加密,防止密码泄露
在这里插入图片描述

关闭数据库开放端口

使用命令netstat -antlupe | grep mysql查看端口,是开放状态
在这里插入图片描述
编辑配置文件vim /etc/my.cnf.d/mariadb-server.cnf
在文件第21行加入skip-networking=1,编辑完后:wq退出保存
在这里插入图片描述
重启mariadb使设置生效systemctl restart mariadb
再查看端口netstatus -antlupe | grep mysql,已查询不到端口
在这里插入图片描述

使用SQL语句对数据库进行管理

简单的查看数据库、表、数据

注意一定要以;号结尾,否则输入不会结束!!!

SHOW DATABASES;							查看有哪些数据库
USE mysql;								进入mysql数据库
SHOW TABLES;							显示库中的所有表
SELECT * FROM user; 					查询user这个表的所有数据
SELECT Host,User,Password FROM user; 	查询user表的Host,User,Password属性列

在这里插入图片描述
显示的这么乱,是因为一行显示不完整所以换行显示了
在这里插入图片描述
查询语句按我们的要求只显示我们想看的部分
在这里插入图片描述

简单的新建数据库、表、插入数据

CREATE DATABASE MANAGE; 			新建库

CREATE TABLE student 				新建表
(name varchar(6) not null,			varchar(6)规定该属性类型,name类型变长字符,最大长度为6个字符
sex varchar(30) not null);			NOT NULL 值不能为空

DESC student;						显示表结构

INSERT INTO student 
VALUES ('su','女'),
('lee','男'); 						插入数据

FLUSH PRIVILEGES;					刷新数据库

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

简单的更新数据

ALTER TABLE student RENAME Student;				把student表重命名为Student
ALTER TABLE Student ADD age varchar(4) AFTER sex;	在Student表增加属性列age
ALTER TABLE Student DROP age;						去掉Student表中的age属性列
UPDATE Student SET sex='g' WHERE name='su';			更新Student表中的su的sex

在这里插入图片描述

简单的删除数据

DELETE from Student where name='su';		把Student表中su的数据删除
DROP TABLE Student;							删除表Student
DROP DATABASE MANAGE;						删除MANAGE数据库

在这里插入图片描述

MySQL密码管理

更改密码

执行命令mysqladmin -uroot -plee password westos更改密码
在这里插入图片描述

破解密码

第一步:关闭mysql,systemctl stop mariadb
第二步:开启安全模式到后台mysqld_safe --skip-grant-tables &
在这里插入图片描述
第三步:按ctrl+l,输入mysql进入
在这里插入图片描述
更改密码,UPDATE mysql.user set authentication_string=password('lee') WHERE User='root';
##如果之前更改过密码改的是authentication_string字段,没有的话更改的是Password字段
在这里插入图片描述
第四步:输入quit退出mysql
第五步:杀掉safe进程,还有其他mysql进程
killall -9 mysqld_safe
ps aux | grep mysql查看mysql进程id
kill -9 mysql进程id
在这里插入图片描述
第六步:开启maiiadb,systemctl start mariadb,使用我们刚修改的密码登录成功!
在这里插入图片描述

创建用户,用户授权

进入数据库后执行:
CREATE USER lucky@'localhost' identified by 'lucky';	创建用户lucky,只能用localhost登陆,密码为lucky
CREATE USER lucky@'%' identified by '%'; 				可以通过网络或localhost登陆,即该用户可以在任何客户端使用
GRANT SELECT,INSERT ON MANAGE.* to lucky@localhost;		lucky用户可以查看/插入MANAGE数据库里的东西		
SHOW GRANTS FOR lucky@localhost;						查看授权	
REVOKE INSERT ON MANAGE.* FROM lucky@localhost;			去掉lucky用户的插入权限
DROP user lucky@localhost;								去掉lucky用户

创建只可以本地登录的lucky用户
在这里插入图片描述

给MANAGE库的写和查询权限后,可以对里边的表进行插入查询操作
在这里插入图片描述
查看权限,去掉权限
在这里插入图片描述
去掉用户
在这里插入图片描述

数据库的备份

备份,即从数据库导出数据:

mysqldump -uroot -plucky --all-database > /mnt/lucky.sql			备份所有数据库
##/mnt/lucky.sql是保存路径,如果不加路径则只是输出到shell里
mysqldump -uroot -plucky --all-database --no-data > /mnt/lucky.sql	加 --no-data参数的意思是只备份结构不备份数据
mysqldump -uroot -plucky MANAGE > /mnt/lucky.sql					备份MANAGE数据库

备份MANAGE数据库,然后将其删掉
在这里插入图片描述
恢复:

  1. 因为直接导入会报错没有该数据库,所以先进入mysql创建要恢复的数据库:
    CREATE DATABASE MANAGE;
    然后退出执行恢复命令:mysql -uroot -plucky MANAGE < /mnt/lucky.sql即可恢复成功!
    在这里插入图片描述
  2. 直接在备份文件中加入创建命令:
    vim /mnt/lucky.sql
    CREATE DATABASE MANAGE; USE MANAGE;
    在这里插入图片描述
    退出保存,然后直接执行mysql -uroot -plucky < /mnt/lucky.sql命令即可恢复成功!
    ##注意恢复命令不用加数据库名字!!!
    在这里插入图片描述

使用phpmyadmin图形方式操作数据库

前提:已安装配好mariadb,参考文章前面
第一步:安装php,httpd,开启httpd,关闭防火墙,关闭selinux
dnf install php -ydnf install httpd -ysystemctl start httpdsystemctl stop firewalldsetenforce 0
第二步:php -m | less查看php支不支持mysql,不支持的安装php-mysqlnd
我的不支持,所以安装dnf install php-mysqlnd.x86_64 -y
在这里插入图片描述
第三步:在/var/www/html下安装phpmyadmin
可以去官网下载安装包,点击phpadmin
##建议下载3.4.0版本,比较稳定
安装tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
mv phpMyAdmin-3.4.0-all-languages mysqladmin改个名
在这里插入图片描述
在安装好的软件文件夹里有README和Documentation.txt有安装提示,在README里告诉我们使用phpmyadmin需要有这些版本的软件
在这里插入图片描述
所以我们查看一下我们是否符合要求,如图是符合要求的
rpm -qa | grep mariadb查看mariadb版本
rpm -qa | grep php查看php版本
在这里插入图片描述
在Documentation.txt里告诉了我们快速安装的步骤
在这里插入图片描述
第四步:复制配置文件模板
cd /var/www/html/mysqladmin
cp config.sample.inc.php config.inc.php
第五步:访问
在浏览器输入ip/mysqladmin 访问
在这里插入图片描述
输入用户名密码即可登录访问
在这里插入图片描述

以上是关于在linux下下载并使用MySQL,MySQL密码忘记了怎么办?怎么对MySQL数据库进行备份?怎么使用图形化工具管理MySQL?的主要内容,如果未能解决你的问题,请参考以下文章

linux安装mysql

linux安装mysql

Linux下载安装MySql

linux mysql免密码登录如何设置

ubuntu小技巧8——linux(ubuntu)下mysql安装问题

linux下忘记mysql的root密码