mariadb----->linux中运行的软件
这里只介绍mariadb数据库的基本用法
基础信息:
-
什么叫数据 ------->有用的信息
-
世界上最稳定的数据库 oracle
银行,核心的数据中心都会用 -
一张表格--------------> 一张表
-
很多张表 -------------->数据库
-
很多个数据库---------> 数据库软件
-
linux中用mariadb
-
数据库中用mysql语句
-
每一个语句用分号结尾,否则不执行
-
在数据库中不分大小写,但有的数据库不支持小写,所有的都适用大写
-
切换到什么用USE
-
查看文件用SHOW
-
查看表中的信息 SELECT
-
信息太长会折行,可以搜索关键字 xx,xx,xx from 表格名
-
数据库---------->有很多特殊功能的excle
1.安装
yum install mariadb-server.x86_64 -y
systemctl start mariadb
进入数据库可以用mysql命令,退出用quit或ctrl+d
2.安全初始化
默认情况下数据库的网络接口是打开的
为了安全需要关闭此接口
1 netstat -antlupe | grep mysql
查看数据库的接口是否开放
对外开放的接口,别人可以通过这个接口访问数据库
2 vim /etc/my.cnf
skip-networking=1
对互联网中的接口忽略掉
3 重启服务,再次查看,没有接口对外开放
4 数据库其实状态设置信息是不安全的,需要作一下设定:
mysql_secure_installation 进入安全初始化状态
设定完成之后登录
mysql -uroot -p
Enter password:
该设定的自动设定
不显示密码的登录
3.数据库密码的管理
(1)记得超级用户密码时修改超级用户密码
mysqladmin -uroot -pwestos(原来的密码) password redhat(新密码)
(2)当超级用户密码忘记时
1 systemctl stop mariadb
2 mysqls_safe --skip-grant-tables & (skip跳过授权表 & 打入后台是一种非正常状态的登录)
3 mysql
4 UPDATE mysql.user SET Password=password(‘westos’) WHERE User=‘root’;
第二个password表示给括号内的字符加密,将密码表中的内容变成密文,否则会以明文的方式显示出来
5 ps -ax | grep mysql
6 kill -9 所有mysql进程的id
7 systemctl start mariadb
4.数据库的管理
(1)建立和插入
SHOW DATABASES; ## 列出库
CREATE DATABASE westos; ##建立库
USE westos; ##进入库
SHOW TABLES; ##列出表
CREATE TABLE linux ( ## 建立表
-> username varchar(10) not null,
-> password varchar(50) not null
->);
DESC linux; ## 查看表结构
INSERT INTO linux VALUES('yyy''111'); ##插入数据到linux表中
SELECT * FROM linux; ##查询所有字段在linux表中
SELECT username,password from linux; ##查询指定字段在linux表中
注:
表头的专用名词 字段
库都是平行的,用哪一个直接use就可以
创建数据库时一行一行建,便于排错
字符类型(字符长度)
例1:
(2)更改
库的名字改不了。一般是新建一个库,将库中的文件复制过去
对库的名字进行更改可能会导致数据丢失
第一个字段作为基准字段,一般不做更改,作出更改之后可能会导致数据错乱
ALTER TABLE linux ADD class varchar(20); ##添加字段(表头),默认添加在最后一位
ALTER TABLE linux DROP class; ## 删除字段
ALTER TABLE linux ADD class varchar(20)AFTER username;
##在指定的位置添加字段
UPDATE linux SET class='linux';
## 在字段中添加内容,默认给这个字段底下的所有添加
UPDATE linux SET class='java' WHERE username='yjy';
##给字段下对应指定条件的行添加,可以指定多条信息,用AND连接
例2:
(3)备份
mysqldump -uroot -p --all-database
##备份所有数据
mysqldump -uroot -p --all-database --no-data
##备份所有的框架
mysqldump -uroot -p --all-database > /mnt/westos.sql
##备份所有的数据到文件中
mysqldump -uroot -p westos > /mnt/westos.sql
##备份westos库,并且将所有的数据输入到/mnt/westos.sql文件中 文件中的内容回被覆盖,
不用去删除原来的内容(为下一步做准备)
如果后面不加文件会用sql语句将库中所有的信息备份成脚本输出到当前shell
例3:
(4)删除
westos.linux westos库中的linux表
DELETE FROM westos.linux WHERE username='yjy';
##删除westos库中的linux表里username是yjy的信息
DROP TABLE westos.linux;
##删除westos库中的linux表
DROP DATABASE westos;
##删除westos库z
例4:
(5)恢复
法1:
系统报错22行没有查询的数据库,编辑备份文件
1 vim /mnt/westos.sql
在22行写入
2 CREATE DATABASE westos;
USE westos;
退出保存后
3 mysql -uroot -p < /mnt/westos.sql
(实验之前先删除刚刚恢复好的westos库)
法2:
mysql -uroot -p -e "CREATE DATABASE westos;";
mysql -uroot -p westos < /mnt/westos.sql
-e 执行动作 “”;
创建westos库
恢复westos库
(6)用户授权管理
‘%’通过其他的电脑来登录数据库
SELECT User FROM mysql.user 查看用户表
CREATE USER yan@localhost identified by ‘westos’;创建一个普通用户
SHOW GRANTS FOR yan@localhost; 查看yan用户的权限
GRANT SELECT ON westos.* TO yyy@localhost; 给用户SELECT的权限
测试:
给yan用户INSERT权限
测试:
REVOKE SELECT ON wstos.* FROM yan@localhost; 删除用户的SELECT的权限
测试:
删除yan用户的INSERT权限
测试:
注:
INSERT和SELECT的关系就像是w和r的关系
可写肯定会可读,但可读不代表可写
DROP USER yyy@localhost; 删除用户
测试:
yan用户不能登录
(7)安装phpmyadmin数据库图形管理
1 下载phpMyadmin-3.4.0-all-languages
解压
tar jxf phpMyadmin-3.4.0-all-languages -C /var/www/html
2 mv phpMyadmin-3.4.0-all-languages mysqladmin
3 打开浏览器访问172.25.254.127/mysqladmin 所有的文件都会裸露出来,所有的文件都是php形式的,打开index.php会报错
4 yum install php -y
5 systemctl restart htppd
6 yum install php-mysql -y
7 systemctl restart htppd
8 打开浏览器直接进入到图形管理界面
输入用户和密码登录