1.数据库安装和安全初始化
yum源配置
yum repolist
如果不知晓maridb的软件
yum search mariadb #搜索相关软件,一般是server
yum install mariadb-server.x86_64 -y
systemctl start mariadb #开启服务
mysql #可以看到不需要密码直接进入了mysql,此时是不安全的
quit退出mysql
vim /etc/my.cnf #编辑此文件,使网络接口关闭
在10行添加skip-networking=1
systemctl restart mariadb #重启服务
mysql #发现还是可以进入
mysql_secure_installation #设置密码等相关
登陆方法1:
mysql -uroot -p #root用户登陆,此时需要输入密码
登陆方法2:
mysql -uroot -pwestos #直接带密码登陆,但是企业中不要使用,会存在危险
2.数据库的管理
sql语句大写是通用的,一般都大写,有的不支持小写
1)查看与建立
SHOW DATABASES; #列出库
USE mysql; #进入库
SELECT Host,User from user; #查询Host,User字段在mysql表中
SHOW TABLES; #查看数据库中的表,这个数据库中没有表格
CREATE DATABASE westos; #建立库
CREATE TABLE linux ( #建立表linux
-> username varchar(10) not null,
->password varchar(50) not null #最后一个不加逗号
->); #记得添加分号
SHOW TABLES; #查看表的建立
DESC linux; #查看表的结构
SELEST * FROM linux; #查询linux所有信息
INSERT INTO linux VALUES ('rong','123'); #输入姓名和密码并查看
INSERT INTO linux VALUES ('pan','1111'); #再次输入姓名和密码
2)更改
数据库的更改:
一般不要更改,容易产生不可挽回的数据丢失,如果一定要改,就先备份在删除数据库最后导入数据
cd /var/lib/mysql/
ls #可以看见数据库westos
mv westos / hello/ #修改westos为hello
systemctl restart mariadb #重启服务
mysql -uroot -p #登陆数据库
SHOW DATABASES #查看数据库名字已经修改
将数据库名字改回westos继续以下实验
表名字的修改:
ALTER TABLE linux RENAME westos;#修改linux为westos
再次修改回linux
字段的修改:
ALTER TABLE linux ADD class varchar(20); #添加class字段
ALTER TABLE linux DROP class; #删除字段class
ALTER TABLE linux ADD class varchar(20) AFTER usname; #添加字段class到username之后
添加字段的内容:
UPDATE linux SET class='linux'; #class值全部添加为linux
UPDATE linux SET class='java' WHERE username='rong'; #修改username为rong的用户class为java
UPDATE linux SET class='python' WHERE username='rong' AND password='123'; #修改username为rong且password为123的用户class为python
3).备份
mysqldump -uroot -p --all-databases #将所有数据库备份到当前目录下
mysqldump -uroot -p --all-databases --no-data #将所有数据库框架备份到当前目录下
mysqldump -uroot -p westos > /mnt/westos.sql #将westos数据库备份到mnt下
4).删除
登陆数据库查看里面的内容
删除用户信息:
DELETE FROM linux WHERE username=‘rong’; #删除rong用户的信息
删除表:
DROP TABLE linux; #删除表linux
删除数据库:
DROP DATABASE westos; #删除数据库westos
5).恢复
方法1:
vim /mnt/westos.sql #编辑此文件,westos.sql是之前备份的数据库
在21,22添加代码
mysql -uroot -p < /mnt/westos.sql #导入数据库westos
重新登陆数据库查看所有的信息已经恢复
方法2:
先删除之前恢复的数据库westos
恢复数据库:
mysql -uroot -p -e "CREATE DATABASE westos;"; #直接语句创建数据库westos,加-e是直接执行“ ”中间的语句
mysql -uroot -p westos < /mnt/westos.sql #导入数据到westos
关于-e的用法的例子:
6)数据库用户的管理
添加用户:
先登陆查看数据库的用户
CREATE USER huan@localhost identified by 'westos' #添加数据库用户及登陆密码westos
登陆huan用户
用root用户登陆查看huan用户的权限可以看到什么权限都没有
用户赋权:
赋予对于数据库可读权限:
root用户下登陆数据库
GRANT SELECT ON westos.* TO huan@localhost; #赋予用户huan可读权限
登陆huan用户检验可读权限
赋予对于数据库可写权限:
再次用root用户登陆数据库
GRANT INSERT ON westos.* TO huan@localhost; #赋予用户huan可写权限
登陆huan用户检验可写权限
用户去权:
root登陆数据库
REVOKE SELECT ON westos.* FROM huan@localhost; #去除查看westos的权限
REVOKE INSERT ON westos.* FROM huan@localhost; #去除huan用户对westos可写的权限
查看用户huan的权限已经没有了