1. 数据库的简介
定义:数据库(Database)就是一种按数据结构来组织,存储和管理数据的仓库,其中包含数据挖掘,大数据信息的推送。
mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用GPL授权许可 mariadb的目的是完全兼容mysql,包括API和命令行,使之能轻松成为mysql的代替品。
2. 安装数据库
yum install mariadb-server.x86_64 -y 安装数据库软件systemctl start mariadb 开启数据库mysql 进入数据库
3. mariadb的安全初始化
默认情况下,数据库的网络接口是打开的,为了安全需要要关闭此接口
vim /etc/my.cnf 编辑配置数据库文件skip-networking=1 关闭网络接口systemctl restart mariadb 重启数据库netstat -antlupe | grep mysql 查看登陆数据库的接口
先查看登陆数据库的接口,发现有接口,然后再编辑文件关闭网络接口,重启数据库之后再次查看,
设定登陆密码:mysql_secure_installation
Enter current password for root (enter for none): 数据库原始密码(默认没有直接回车)
Set root password? [Y/n] 是否要设定数据库超级用户密码
New password: 输入要设定的超级用户密码
Re-enter new password: 重复输入
Remove anonymous users? [Y/n] 是否删除匿名用户访问权限
Disallow root login remotely? [Y/n] 是否禁止超级用户通过远程登陆
Remove test database and access to it? [Y/n] 刷新数据库
Reload privilege tables now? [Y/n] 允许下载表
里面所有的内容都选y,可以直接一直回车,只需中途输超级用户密码俩次就行
4. 数据库的基本管理
mysql -uroot -p密码 -u表示指定登陆用户,-p 表示指定此用户密码
不建议-p后面直接跟密码,这样会泄露密码
2)数据库的查询:
MariaDB [(none)]> SHOW DATABASES; ##显示数据库MariaDB [(none)]> USE mysql ##进入数据库MariaDB [mysql]> SHOW TABLES; ##显示库的tableMariaDB [mysql]> DESC user; ##查看user表的结构MariaDB [mysql]> SELECT Host,User FROM user; ##查看表的具体信息
5. 数据库的建立
CREATE DATABASE westos; ##建立westos数据库CREATE TABLE linux ) ##建立以linux为格式的表-> usrname varchar(10) not null,-> password varchar(50) not null-> );DESC linux ##查看创建该表的结构INSERT INTO linux VALUES ('zll','123');INSERT INTO linux VALUES ('zll1','westos'); ##给该中表中添加内容SELECT * FROM linux; ##查看表中的内容
建立的数据库名称设定完就不会更改,否则可能会在数据的查询使用中出现问题,稳定性很低,生产环境中基本不用
6. 往数据库里添东西:
ALTER TABLE linux ADD class varchar(20) AFTER username; 添加class在username的后面
UPDATE linux SET class='linux'; 更新班级为linux
UPDATE linux SET class='java' WHERE usrename='zll'; 更改zll的班级为java
7. 用户授权
SELECT User FROM mysql.user; 查看mysql用户CREATE USER zll@localhost identified by 'westos'; 创建用户HAHA,密码为westosSHOW GRANTS FOR HAHA@localhost; 查看用户HAHA权限
insert权限的添加
自己能给自己添加权限吗? 那肯定不行的啊,自己能给自己添加权限那还要root有毛用,
GRANT SELECT,INSERT on westos.* TO HAHA@localhost; 给HAHA用户在westos数据库中进行SELECT和INSERT的权限
收回权限:
REVOKE SELECT,INSERT on westos.* FROM HAHA@localhost 收回HAHA用户在westos数据库中进行SELECT和INSERT的权限
8. 用户删除:
DROP USER HAHA@localhost 删除HAHA用户
9. 数据库的备份:
mysqldump -uroot -p --all-database 查看数据库所有内容
mysqldump -uroot -p westos 查看westos数据库的脚本文件
mysqldump -uroot -p WESTOS > /mnt/westos.sql 将WESTOS数据库备份再/mnt/westos.sql
备份好之后,就可以操作一波了,先删了吧
DROP TABLE westos.linux; 删除表,但是数据库还在DROP DATABASE westos; 删除数据库
删了之后恢复
方法一:
mysql -uroot -p -e "CREATE DATABASE westos;"; 创建数据库mysql -uroot -p westos < /mnt/westos.sql 备份的数据库文件恢复
方法二:
vim /mnt/westos.sql编辑内容为:21 CREATE DATABASE westos;22 USE westos;mysql -uroot -pwestos < /mnt/westos.sql
这是方法一
下面看下第二种方法:
先在文件中加点东西
恢复数据库的前提是数据库被删了,所以试的时候一定要把数据库删了。
10. 超级用户密码修改
超级用户密码的修改
mysqladmin -uroot -pwestos password redhat 将密码westos改为redhat
当忘记超级用户密码;
systemctl stop mariadb ##关闭服务mysqld_safe --skip-grant-tables & ##开启mysql登陆接口并忽略授权表mysql ##直接不用密码可以登陆
update mysql.user set Password=password('westos') where User='root; 更新超级用户密码信息ps aux | grep mysql ##过滤mysql的所有进程并结束这些进程kill -9 mysqlpid
systemctl start mariadb ##重新开启mysqlmysql -uroot -pwestos ##登陆测试