一、认识mariadb
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
二、安装mariadb
1、首先你需要你的yum仓库是可以使用的,并且和你所在的系统版本保持一致,不要像小编一样搞了许久,最后才发现原来是这个问题;
如果你有挂载、镜像的问题请参考linux--基础学习8里面有详细介绍
2、假设你现在已经解决了我前面说的问题;执行下面的命令
yum search mariadb 搜索和mariadb相关的所有内容;
我们需要的是server服务端
yum install mariadb mariadb-server -y
3、启动mariadb服务,并且设置为开机自起;
systemctl start mariadb
systemctl enable mariadb
设置完成我们来看看他的状态;
这让我想起了我的linux老师说过的话,在linux中绿色就是好的,生活中别绿就行。当然这是一句玩笑,也给我们学习mysql有了一个良好的开始;
4、设置mysql的登陆密码
mysql_secure_installation
在你读过一系列的英文课文和选择后,那么恭喜你已经成功做好了学习mysql的准备。
5、登陆mysql
mysql -uroot -p #-u选择用户 -p 输入密码
三、mysql的基本语句
注意:在mysql中所有的语句都以“;”结束
1、show databases; 显示数据库,类似于目录,里面包含多个表
2、use yutao; 进入名字为yutao的数据库
3、show tables; 显示该数据库中的表
如果你时第一次创建数据库,那么你的数据库中没有任何东西,下面就介绍如何创建数据库,以及库中的表
4、创建一个数据库
create database westos(这里是数据库的名字)
5、创建数据库中的一张表
其中:westos(表的名字);username and passwd 为表头名称;varchar为所占字节
6、查看表的结构信息
desc westos
7、向表中插入信息
insert into westos values('root','123'); 系统自动将root和username匹配;123和rasswd匹配;按顺序匹配
也可以按照你需要的顺序插入信息:
insert into westos(passwd,username) values('456','admain');
8、查看表内的信息
select * from westos;
select Host,User,Password from user; 显示某张表中的某几列信息
9、更新表中的内容
update westos set passwd='666' where username='root'; 更新表中的root的密码为666
10、给某张表中添加表头
alter table westos add level varchar(5); 给westos添加了名字为level的项
11、删除westos表中的root用户信息
delete from westos where username='root';
12、删除表
drop table westos;
13、删除数据库
drop database westos;
14、utf8--编码问题
因为在默认的数据库中默认不支持中文输入,所以我们需要进行修改配置文件的信息;
我们先登陆数据库来查看编码格式
show variables like 'character_set_%';
永久改变编码格式:
1)配置mysql的配置文件,配置文件在/etc/my.cnf.d/目录,设置编码格式:
2)修改第一个文件:vim /etc/my.cnf.d/client.cnf
注意:这里在输入前的空格为4格,否则修改编码不会成功
3)修改第二个文件:vim /etc/my.cnf.d/server.cnf
4)上面设置完成,看似很完美,但是重启mariadb服务后,character_set_database并没有进行修
改,因此,为了一步到位,直接设置character_set_database编码格式为utf8,如下:set character_set_database = 'utf8';
ok,终于搞定!
四、用户访问权限操作
server服务器端
1、create user hello@'%' identified by 'hello'; 创建用户hello,可在远程登陆,密码为hello
但是我们远程访问本机数据库却什么都看不到,别着急往下看;
2、grant all on yutao.* to hello@'%'; 给hello用户授权,如果为all,授权所有权限,可以在yutao数据库上进行任何操作
3、每次授权后都要更新授权表 flush privileges;
4、show grants for hello@‘%’; 查看授权用户
我这里是给所有来访问的主机都给了‘yutao’这个数据库的全部权限,并且他们都是以hello这个用户登录的;
5、revoke delete,update on mariadb.* from hello@‘%’; 删除指定用户的授权
删除了所有用户对yutao数据库的访问权限;
更新授权表,查看结果;