mariadb简介
mariadb 数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用GPL(general public licens,通用公共许可证)。mariadb的目的是完全靠兼容在mysql,包括API和命令行,是mysql的替代品。
mariadb的安装
mysql的端口是3306端口,可以用netstat -antulpe | grep mysql
进行端口工作状态的查看
操作步骤:
1.
yum install mariadb-server -y ##下载该服务
cd /var/lib/mysql/ ##查看有 .sock 才能正常使用mysql,套接文件,如果没有,mysql没有接口来使用
vim /etc/my.cnf ##数据库配置文件
在数据库配置文件中添加:
skip-networking=1 ##关闭对外服务端口,保证数据库的安全
systemctl start mariadb ##开启服务
systemctl enable mariadb ##使服务一开机就处于启动状态
systemctl status mariadb ##查看服务状态
2.安全初始化
mysql_secure_installation
根据下图进行操作:
数据的查询
mysql -uroot -predhat ##root用户登陆,密码是redhat然后进行以下操作
mysql -uroot -predhat -e "SHOW DATABASES;" ##直接在shell中输入查询
SHOW DATABASES; ##查看数据库
USE mysql ##切换到该数据库下,相当于cd的作用。切换到该目录下
SHOW TABLES; ##查看该数据库下的数据表清单
DESC user; ##查看某个表的框架结构(查看user这个数据表的框架结构);
数据表的结构和数据表的数据不是同一个东西,有数据结构不一定有数据信息
SELECT * FROM user ##查看该数据表的内容
SELECT Host,User,Select-priv FROM user; ##查看user这个表中的特定字段(Host,User,Select-priv的信息)
SELECT Host,User,Select-priv FROM user WHERE Host=‘localhost‘ ##查看localhost这台主机上user这个表中的特定字段(Host,User,Select-priv的信息)
新建数据库、表
mysql -uroot -predhat ##登陆
SHOW DATABASES ##查看目前现有的数据库
CREATE DATABASE westos; ##建立名为westos的数据库
SHOW DATABASES; ##查看数据库建立是否完成
USE westos; ##切换到westos数据库下
SHOW TABLES; ##查看westos数据库下的表;此时应该为空
CREATE TABLE linux(
username varchar(10) not null,
password varchar(20) not null
); ##在westos数据库中建立一个linux的表格,其中的字段包括Field、Type、NULL
DESC linux ##查看linux这个表的结构
SELECT * FROM linux ##查看表的信息 ;此时应该为空。只有框架,没有信息
INSERT INTO linux VALUES(’wps‘,’123‘);##插入顺序与数据表中的项目对应;
SELECT * FROM linux ##再次查看表中是否已经添加上信息
SELECT username,password FROM linux; ##查看表中特定的信息;对于项目众多的数据表比较实用;
修改
ALTER TABLE linux ADD class varchar(10); ##继续在表linux中添加项目,这种情况下默认可以为空,并且在默认添加位置在表的最后
ALTER TABLE linux ADD age varchar(4) AFTER password; ##在指定位置添加项目
DESC linux ##查看表格的结构
UPDATE linux SET age='4' WHERE username='wps' AND password='123'; ##更新linux中项目class的赋值
INSERT INT linux VALUES('wps',’456‘,‘6‘,’python‘); ##再表Linux中对项目再增加一行信息
SELECT * FROM linux ; ##查看表linux中的所有信息
ALTER TABLE linux RENAME user; ###重命名表
删除
ALTER TABLE user DROP age; ##删除表linux中的项目age;
DELETE FROM linux WHERE username='wps'; ##删除关于username='wps’一行的信息
SELECT * FROM linux ##查看表中的信息
DROP TABLE user; ##删除表user
DROP DATABASE westos; ##删除数据库
用户授权
先重新建立一个数据库便于实验效果的观察
CREATE DATABASE userdata; ##建立userdata 数据库
CREATE TABLE usertab(
username varchar(10) NOT NULL,
password varchar(20)NOT NULL); ##建立表usertab
DESC usertab; ##查看框架
给用户授权
创建用户
CREATE USER westos@localhost IDENTIFIED BY 'westos' ##创建westos用户,只允许在本地登录,登录密码为westos.
(CREATE USER westos@‘%‘ IDENTIFIED BY 'westos' ##创建westos用户,允许任意存在westos的主机登录,登录密码为westos.)
(CREATE USER westos@‘172.25.254.%'‘ IDENTIFIED BY 'westos' ##创建westos用户,允许在172.25.254这个网段上的存在westos的主机登录,登录密码为westos.)
SECLECT * FROM mysql.user ##查看用户是否创建成功
SHOW GARANTS FOR westos@localhost; ##查看westos用户的权限
给westos用户赋予查看的权限
GRANT SELECT ON userdata.* TO westos@localhost;
SHOW GARANTS FOR westos@localhost; ##查看westos用户的权限
给westos用户赋予插入的权限
GRANT INSERT ON userdata.* TO westos@localhost; ##给westos用户查看userdata这个数据库下所有表格的权限
SHOW GARANTS FOR westos@localhost; ##查看westos用户的权限
授权之后要刷新授权表=
FLUSH PRIVILEGES;
方法二:采用直接创建用户并授权的方式进行授权
##一条命令直接创建westos用户,只允许在本主机登录,密码是westos,并且赋予查看权限。
GRANT SELECT ON userdata.* TO westos@localhost IDENTIFIED BY ‘westos‘;
测试
mysql -uwestos -pwestos ##以westos的用户身份登录
SHOW DATABASES; ##以westos的用户身份查看查看数据库
USE userdata; ##切换到该数据库下
SHOW TABLES; ##查看该数据库下的表看能否查看到,要是能查看到,则说明“查看权限的授权是成功的“
INSERT INTO userdata VALUES(’lee‘,’123‘);##插入顺序与数据表中的项目对应;
SELECT * FROM usertab ##验证信息是否已经插入成功
撤销用户权限
REVOKE INSERT ON userdata.* FROM westos@localhost ##撤销westos用户的插入权限
测试
用westos用户身份登录
USE userdata; ##切换到数据库userdata下
INSERT INTO usertab VALUES (‘wps‘,‘123‘);##报错则说明没有权限,撤销成功