linux之数据库mariadb

MariaDB

1.定义:

MariaDB的特性:插件式存储引擎:存储管理器有多种实现版本,彼此间的功能和特性可能略有区别;用户可根据需要灵活选择存储引擎也称为“表类型”

MariaDB与MySQL的比较:

        (1) 支持更多的存储引擎

        (2) MyISAM-->Aria (改进版)不支持事务

        (3) InnoDB --> XtraDB(改进版) 支持事务

        (4) 诸多扩展和新特性 

        (5) 提供了较多的测试组件

        (6) 完全的开源软件

2.配置


2.1.数据库监听窗口的配置


[root@mariadb ~]# yum install mariadb-server -y                    ###安装数据库
[root@mariadb ~]# systemctl start mariadb                             ###开启数据库服务
[root@mariadb ~]# mysql                                                        ###进入数据库
[root@mariadb ~]# netstat -antlp | grep mysql                        ###查看数据库端口 校验mariadb的监听端口
  
[root@mariadb ~]# vim /etc/my.cnf

skip-networking=1   ####屏蔽网络  此时只允许通过套接字文件进行本地连接,阻断所有来自网络的tcp/ip连接[root@mariadb ~]# systemctl restart mariadb
[root@mariadb ~]# netstat -antlp | grep mysql
[root@mariadb ~]# mysql

2.2数据库的安全初始化


[root@mariadb ~]# mysql_secure_installation


####数据库的安全初始化  使用mysql_secure_installation工具进行数据库安全设置,根据提示完成操作:
Set root password? [Y/n] Y    ###设置用户名密码
Remove anonymous users? [Y/n] Y   ####移除匿名用户
Disallow root login remotely? [Y/n] Y   ####允许超户远程登陆
Remove test database and access to it? [Y/n] Y   ###移出测试用户
Reload privilege tables now? [Y/n] Y  ####刷新数据库
[root@mariadb ~]# mysql -uroot -p



2.3数据库的基本操作


[root@mariadb ~]# mysql -uroot -p
MariaDB [(none)]> show databases;  ###显示数据库
MariaDB [(none)]> use mysql      ###进入数据库
MariaDB [mysql]> show tables;      ###查看当前数据库表中的内容

MariaDB [mysql]> select * from user;  ###查询user表中的所有内容(*可以用此表中的任何字段来代替)
MariaDB [mysql]> desc user;         ####查询user表的结构(显示所有字段的的名称)


2.4数据库的建立


MariaDB [(none)]> create database westos;    ###创建westos数据库
MariaDB [(none)]> use westos


MariaDB [westos]> create table linux(
    -> username varchar(15) not null,
    -> password  varchar(15) not null );
Query OK, 0 rows affected (0.36 sec)
####创建linux表,并且linux表中含有两个字段username, passworf  每个字段长度为15个字符,并且不能为空。


MariaDB [westos]> show tables;     ##查看该数据库表格
MariaDB [westos]> insert into linux values ('user1','123');
####向linux表中插入数据,用户名为user1,密码为123此时密码没有加密
MariaDB [westos]> select * from linux;
MariaDB [westos]> insert into linux values ('user2',password('123'));

####向linux表中插入数据,用户名为user2,密码为123此时密码加密
MariaDB [westos]> select * from linux;      ##查看表格信息
MariaDB [westos]> update linux set password=password('123') where (username='user2' or username='user1') ;
#####更新多个选项


2.5数据库的更新


MariaDB [westos]> alter table linux add age  varchar(20);      ###增加一列


MariaDB [westos]> alter table linux add date  varchar(20) after password;

#####在linux表格中的password列后添加一列date

MariaDB [westos]> select * from linux;

MariaDB [westos]> update linux set password=password('123') where (username='user2' or username='user1') ;


MariaDB [westos]> update linux set password=123 where username='user2' ;
MariaDB [westos]> update linux set password=password('123') where username='user3' ;
####更新数据库中的数据

2.6删除表中的数据


delete from table_name where attribute = value;


####删除user1


####drop table table_name



#######删除表格

MariaDB [westos]> alter table linux drop age;

######删除linux表格中age字段


###删除数据库drop database database_name;




2.7数据库备份


     mysqldump -uroot -predhat --all-database   ####备份所有表中的所有数据
     mysqldump -uroot -predhat --all-database --no-data  ####备份所有的表,但不备份数据
     mysqldump -uroot -predhat westos             ###备份westos数据库


     mysqldump -uroot -predhat westos > /mnt/westos.sql  ###备份westos库并把数据保存到westos.sql中

     mysql -uroot -e "create database westos"  ###建立westos库


     mysql -uroot -predhat westos  < /mnt/westos.sql   ###把数据导入到数据库中
     mysql -uroot -predhat westos  linux > /mnt/linux.sql   ####备份westos数据库中linux表到/mnt/linux.sql中
    

2.8数据库用户授权

[root@mariadb ~]# mysql -uroot -predhat
MariaDB [(none)]> show databases;
MariaDB [(none)]> select User ,Host from mysql.user;


MariaDB [(none)]> create user lee@localhost identified by 'lee';   ####创建用户lee@localhost并设置密码lee
MariaDB [(none)]> create user lee@'%' identified by 'lee';


MariaDB [(none)]> show grants for root@localhost;            ###显示用户的权限


MariaDB [(none)]> grant select on westos.linux to lee@'%';    ####用户的授权



[root@mariadb ~]# vim /etc/my.cnf
[root@mariadb ~]# mysql -ulee -plee -h 172.25.254.121
MariaDB [(none)]> use westos

MariaDB [westos]> revoke delete on westos.linux from lee@localhost;      ####撤销用户的权限

MariaDB [westos]> revoke delete on westos.linux from lee@'%';
MariaDB [westos]> drop user lee@'%'                         #####删除用户



2.9数据库超户密码忘记


[root@mariadb ~]# mysqladmin -uroot -predhat password westos   ####修改超户密码


[root@mariadb ~]# mysql -uroot -pwestos
[root@mariadb ~]# systemctl stop mariadb
[root@mariadb ~]# mysqld_safe --skip-grant-tables &          ###开启myql登陆接口并忽略授权表
[root@mariadb ~]# mysql   ###直接不用密码可以登陆


MariaDB [(none)]> select User ,Host,Password from mysql.user;

MariaDB [(none)]> update mysql.user set Password=password('456') where User='root';
 ####更新超级用户密码信息

MariaDB [(none)]> select User ,Host,Password from mysql.user;
MariaDB [(none)]> quit
[root@mariadb ~]# ps aux | grep mysql

[root@mariadb ~]# kill -9 6888
[root@mariadb ~]# kill -9 6683
[root@mariadb mysqladmin]# systemctl restart mariadb
[root@mariadb ~]# mysql -uroot -p456

MariaDB [(none)]> show databases;


2.10数据库图形界面管理数据库

####安装相应的软件httpd php php-mysql phpMyAdmin-3.4.0-all-languages.tar.bz2


[root@mariadb ~]# yum install httpd php php-mysql -y
[root@mariadb ~]# systemctl enable httpd
[root@mariadb ~]# systemctl disable firewalld
[root@mariadb ~]# systemctl stop firewalld
[root@mariadb ~]# systemctl start httpd
[root@mariadb ~]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/
[root@mariadb ~]# cd /var/www/html/
[root@mariadb html]# mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
[root@mariadb html]# cd mysqladmin/

#####文件的配置

[root@mariadb mysqladmin]# cp -p config.sample.inc.php config.inc.php
[root@mariadb mysqladmin]# vim config.inc.php
$cfg['blowfish_secret'] = 'mysql'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
####添加数据库
[root@mariadb mysqladmin]# systemctl restart mariadb

###测试







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值