linux系统中对数据库的管理

数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

一.安装数据库和基本安全初始化

1.安装数据库软件

yum install mariadb-server

这里写图片描述
2.打开数据库软件

systemctl start mariadb

3.查看数据库在网络中对外的接口

 netstat -antlpe | grep mysql

这里写图片描述
4.编辑配置文件关闭该接口

vim /etc/my.cnf
   在里边写上skip-networking=1

5.重启数据库服务

systemctl restart maridb

6.我们发现,现在数据库可以在本机无密码登陆,这样是很不安全的,所以我们需要对其做一些安全初始化的配置。

执行安全初始化脚本:mysql_secure_installation

这里写图片描述

现在没有密码,直接回车,输入新的密码,确认密码,接下来的操作都是回车

这里写图片描述
这里写图片描述

7.以用户登陆

 mysql -uroot -p

这里写图片描述

二.查询sql

1.登陆mysql登录(mysql后所有命令均以分号结尾)

2.显示一共有几个数据库

SHOW DATABASES; 

这里写图片描述
3. 进入mysql数据库

USE mysql;

4.显示mysql数据库中有的表

这里写图片描述

SHOW TABLES;

5 显示user表的格式.

DESC user;

6.在user表中查询所有

SELECT * FROM user;  

这里写图片描述

6.在user表中查询指定的属性

SELECT User,Host,Passwd FROM user;  

这里写图片描述
7.查有条件的属性

SELECT User,Host,Password,Select_priv FROM user WHERE User='root'AND  Host='localhost';   

三.创建数据库和数据库中的表

1.创建一个数据库名为linux

CREATE DATABASE linux;  

这里写图片描述
2.在数据库中建立一个表名为jay0

 CREATE TABLE jay0( username varchar(6) not null, password varchar(10) not null);          
    varchar(6)  表示该属性的数据类型为varchar,长度不超过6
    notnull     表示该属性值不能为空

这里写图片描述
3. 向表格中添加内容(要按照表格的格式添加)

INSERT INTO jay0 values('tom','12345');

这里写图片描述

四.数据库的修改

数据库和数据库中表的信息存放在/var/lib/mysql

1.修改表的名字

ALTER TABLE jay0 RENAME messages;

这里写图片描述
2.修改表的结构
(1)将某一属性添加到表的最后

ALTER TABLE jay0 ADD age varchar(10);

这里写图片描述
(2)将某一属性添加到指定位置

 ALTER TABLE jay0 ADD age varchar(10) AFTER username;

这里写图片描述
3.删除表中的某个属性

ALTER TABLE jay0 DROP age;

4.修改表中满足某一条件的属性值

 UPDATE jay0 SET password='123' WHERE username='tom';

5.删除表中满足条件的某一行

DELETE FROM jay0 WHERE username='tom';

6.删除表

 DROP TABLE jay0;

7.删除数据库

DROP DATABASE linux;

这里写图片描述

五.用网页管理数据库

1.安装http,php以及支持php管理mysql的php-mysql.x86_64

2.下载适合自己主机版本的phpMyAdmin-3.4.0-all-languages.tar.bz2

3.在目录/var/www/ftp下将这个文件解压

 tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2

4.对解压文件重命名

mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
mysqladmin是管理数据库的入口

5.进入mysqladmin目录下

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

6.配置工作就做好了,在浏览器处输入172.25.254.110/mysqladmin进入管理界面
这里写图片描述
7.在管理界面出新建数据库和数据库中的表
这里写图片描述

这里写图片描述
8.在shell中登陆mysql,我们会发现,数据库和表格已经同步过来了
这里写图片描述

六.管理数据库用户

1.创建用户

CREATE USER qi@localhost identified by 'redhat';
  创建用户的名称是qi,密码是redhat
  qi@localhost表示该用户只能本机登陆,qi@'%'表示该用户可以远程登陆

这里写图片描述
2.查看数据库中的所有用户

 SELECT User FROM mysql.user

3.显示某个用户对数据库所有的权限

 SHOW GRANTS FOR qi@localhost;

4.对某个用户授予固定的权限

GRANT INSERT,UPDATE on linux.* to qi@localhost;
  对qi这个用户添加linux表的增加和更新权限

这里写图片描述
5.撤销年某个用户的固定权限

REVOKE UPDATE on linux.* from qi@localhost;
撤销qi这个用户对linux表的更新权限

这里写图片描述
6.重新加载授权表

FLUSH PRIVILEGES;

7.删除某个用户

DROP USER qi@localhost;

七.忘记数据库超级用户的密码

1.关掉数据库

systemctl stop mariadb

2.跳过注册表直接登陆数据库并打入后台

mysqld_safe --skip-grant-tables &

这里写图片描述
3.登陆数据库(不用密码)

4.修改数据库超级用户密码

 update mysql.user set Password='123' WHERE User='root';(密码会以明文显示)

 update mysql.user set Password=password('123') WHERE User='root';(密码是以密文显示)

这里写图片描述
这里写图片描述

这里写图片描述
5.结束不用密码登陆的进程

fg  ctrl+z
killall -9 mysqld_safe

6.查看mysql的所有进程,并结束掉

 ps aux | grep mysql
 kill -9 进程号

这里写图片描述
7.打开数据库

systemctl start mariadb

八.备份与恢复数据库

1.备份所有数据库

mysqldump -uroot -predhat --all-database    (备份框架和内容)
mysqldump -uroot -predhat --all-database --no-data (只备份框架)

2.备份数据库到指定的位置

 mysqldump -uroot -predhat linux > /mnt/linux.sql

3.删除已经备份的数据库

 mysql -uroot -predhat -e "drop database linux;"

4.恢复数据库

 mysql -uroot -predhat mysql < /mnt/linux.sql

因为数据库中已经没有linux这个数据库了,所以在恢复的时候我们会遇到问题
解决方法:

 (1)vim /mnt/linux.sql
       在里边写上:CREATE DATABASE linux;
                   USE linux;
     mysql -uroot -predhat mysql < /mnt/linux.sql

这里写图片描述

(2)删除按第一种方法恢复的数据库,在/mnt/linux.sql中注释掉刚添加的那两行
     mysql -uroot -predhat -e "CREATE DATABASE linux;"   先创建linux这个数据库
     mysql -uroot -predhat mysql < /mnt/linux.sql

这里写图片描述

猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/80464559