linux之mariadb数据库管理
- 什么是数据库
数据库是指按照某些特定结构来存储数据资料的数据仓库。在当今这个大数据技术迅速崛起的年代,互联网上每天都会生成海量的数据信息,数据库技术也从最初只能存储简单的表格数据的单一集中存储模式,发展到了现如今存储海量数据的大型分布式模式。在信息化社会中,能够充分有效地管理和利用各种数据,挖掘其中的价值,是进行科学研究与决策管理的重要前提。同时,数据库技术也是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心组成部分,是进行科学研究和决策管理的重要技术手段。
数据库管理系统是一种能够对数据库中存放的数据进行建立、修改、删除、查找、维护等操作的软件程序。
- mariadb数据库安装
yum search mysql ##搜索
yum install mariadb-server -y ##安装服务
systemctl start mariadb ##开启服务
systemctl enable mariadb ##开机启动服务
- 设定mysql数据库用户登陆密码
mysql_secure_installation ##设置登陆用户及密码
回车 密码 确认密码 回车 回车 回车 回车
mysql -uroot -p ##root用户密码登陆
mysql -uroot -p密码 ##不建议这么做会暴露密码
- 关闭mysql数据库网络接口
netstat -antlupe | grep mysql
vim /etc/my.cnf
加入:
skip-networking=1
systemctl restart mariadb
netstat -antlupe | grep mysql
- 数据库的管理
查询:
切记在数据库中键入命令一定要以“;”结尾
SHOW DATABASES; ##查看数据库
USE DATABASENAME; ##进入数据库
SHOW TABLES; ##查看数据表
SELECT * FROM TABLE; ##查询所有字段在表中
SELECT Host FROM user WHERE User='root'; ##查看指定字段,指定用户在表中
建立:
SHOW DATABASES; ##列出库
CREATE DATABASE liu; ##建立库
USE liu; ##进入库
CREATE TABLE chen (
-> username varchar(20) not null,
-> password varchar(20) not null
-> );
DESC chen ##查看表结构
INSERT INTO lchen VALUES ('lee','123'); ##插入数据到chen中
SELECT * FROM chen; ##查询所有字段在chen表中
SELECT username,password from chen; ##查询指定字段在chen表中
更改:
内容修改:
UPDATE chen SET password=('456') ##修改字段
UPDATE linux chen password=('789') WHERE username='pipi'; ##精确修改
添加字段:
ALTER TABLE chen ADD class varchar(20);
ALTER TABLE chen ADD age varchar(20) AFTER password;
删除字段:
ALTER TABLE chen DROP CLASS;
更改表名:
扫描二维码关注公众号,回复:
6137429 查看本文章
ALTER TABLE chen RENAME redhat;
删除:
DELETE FROM redhat where username='haha'; ##删除行
DROP TABLE redhat; ##删除表
DROP DATABASE liu ##删除库
- 用户授权
CREATE USER liu@'localhost' identified by '12345'; ##建立授权,只能本地主机登陆 '%'表示所有主机
SELECT User FROM user; ##查看本地用户
GRANT SELECT,INSERT on westos.* TO lee@localhost; ##授权
SHOW GRANTS FOR liu@localhost; ##显示授权
REVOKE INSERT ON westos.* FROM lee@localhost; ##撤销授权
DROP USER westos@localhost ##删除
FLUSH PRIVILEGES; ##刷新
- 数据库的备份
mysqldump -uroot -pwestos westos > /mnt/westos.sql
mysqldump -uroot -pwestos westos --no-date ##只有结构没有数据
mysqldump -uroot -pwestos --all-database ##所有的数据库
mysqldump -uroot -pwestos --all-database --no-data ##所有的数据库但只有结构没有数据
数据库的恢复1(恢复前删除之前创建的库):
mysql -uroot -pwestos -e "CREATE DATABASE westos;"
mysql -uroot -pwestos westos < /mnt/westos.sql
数据库的恢复2(删除上一实验恢复的库):
vim /mnt/westos.sql
加入:
CREATE DATABASE westos;
USE westos
mysql -uroot -pwestos < /mnt/westos.sql
- 数据库密码更改
超级用户已知密码更改密码:
mysqladmin -uroot -pwestos password lee
超级用户忘记密码更改密码:
systemctl stop mariadb
mysqld_safe --skip-grant-tables & ##打入后台
mysql
update mysql.user set Password=password('redhat')where User='root';
killall -9 mysql
ps aux | grep mysql ##查看跟mysql相关进程
kill -9 PID ##关闭所有mysql的进程
systemctl start mariadb ##开启
END