欢迎投稿

今日深度:

mariadb服务,

mariadb服务,


mariadb数据库管理系统是MYSQL的一个分支,主要由开源社区在维护,采用GPL授权许可,是由MYSQL创始人麦克尔·维德纽斯主导开发的。

1.mariadb的安装

用yum仓库(7.0)安装mariadb-server.x86_64 ,如果版本安装的和虚拟机的不匹配,则会出现无法restart的情况。

2、安全初始化

 在默认情况下数据库的网络接口是完全开放的,所以为了安全起见,我们应该手动将网络接口关掉

vim /etc/my.cnf

修改之后重启mariadb服务

数据库起始的状态是没有密码的,没有密码设定可以被任意用户访问和任意主机通过远程访问,所以需要进行安全设定

输入命令 mysql_secure_installation  就可以设定密码了,然后根据提示完成后面的步骤

提示的含义如下图

密码的设定

禁止匿名用户登录设定

禁止其他主机远程登录数据库

删除文件库不允许访问

重新加载表

全部设定完就可以用root用户进行登陆了 密码为刚才设定的密码,如下图

3.数据库的管理

*)建立
SHOW DATABASES;                                             ##列出库


CREATE DATABASE www;                           ##建立一个名为www的库


USE www;                                                          ##进入www库


CREATE TABLE linux (                                        ##建立表
    -> username varchar(50) not null,
    -> password varchar(50) not null
    -> );


DESC linux;                                                             ##查看表结构


INSERT INTO linux VALUES('wz','1');              ##插入数据到linux表中


SELECT * FROM linux;                                           ##查询所有字段到linux表中


SELECT username,password from linux;             ##查询指定字段在linux表中

*)更改


UPDATE linux SET password=password('123') where username='wz';                    修改linux表中username字段下wz对应的passwd字段的值为123并加密(不可见)

UPDATE linux SET password='123' where username='wz'; 修改linux表中username字段下wz对应的passwd字段的值为123(可见)


ALTER TABLE linux ADD class varchar(20);                          在表中创建一个新字段class


ALTER TABLE linux DROP class;               从linux表中删除class字段


ALTER TABLE linux ADD age varchar(20) AFTER password;       在指定位置(password)后面创建一个新字段


ALTER TABLE linux RENAME redhat;                                将linux表的名字改为redhat

*)删除
DELETE FROM redhat where username='wz';               删除表中的一个字段中的一个数据


DROP TABLE redhat;                                                    删除redhat表


DROP DETABASE www;                                删除www库

                                 

*) 用户授权
CREATE USER wz@'localhost' identified by '123';                       创建一个本地用户wz,密码为123,该用户可直接通过密码登陆

但是此用户无法查看数据库,也无法写如图,它所看到的数据库是空的。

而真正的数据库是这个样子


GRANT SELECT,INSERT on www.* TO wz@localhost; 对普通用户wz授予对www数据库的 INSERT 权限

(权限代表是否允许在表里插入数据)

我们可以看到wz用户不仅可以查看数据库,还可以在表中插入数据,如下图


SHOW GRANTS FOR lee@localhost;                                                             查看用户wz的权限


REVOKE INSERT ON www.* FROM wz@localhost;                      去掉wz用户对www表的insert权限,如图,我们看到权限列表里面没有了insert权限了

4.数据库的密码管理
mysqladmin -uroot -pwestos password lee
当超级用户密码忘记时:
systemctl stop mariadb
执行跳过mysql认证的命令  mysqld_safe --skip-grant-tables & 


mysql   再次登陆mysql 就不需要密码了


然后更新root用户的user表的password字段UPDATE mysql.user SET Password='westos' WHERE User='root';  ##明码,用命令SELECT * FROM mysql.user;可以看到root的密码


UPDATE mysql.user SET Password=password('westos') WHERE User='root';  ##用命令SELECT * FROM mysql.user;看到的是经过加密的密码

kill -9 mysql的所有进程的id


然后重启maeiadb服务 systemctl start mariadb就可以了

5数据库的备份
mysqldump -uroot -pwestos westos > /mnt/westos.sql  将www数据库备份到/mnt/www.sql中


mysqldump -uroot -pwestos www --no-data       表示 只备份www数据库框架,不备份数据


mysqldump -uroot -pwestos --all-database                  备份所有的数据库及内容
mysqldump -uroot -pwestos --all-database --no-data   备份所有的数据库框架,不备份内容

恢复方式1
先建立一个新的空的数据库 mysql -uroot -pwestos -e "CREATE DATABASE westos;"


然后将备份文件中的内容全部导入到新建立的数据库中 mysql -uroot -pwestos qaq < /mnt/www.sql

恢复方式2
编辑文件 /mnt/www.sql  写入建立新数据库的内容,然后直接导入即可


mysql -uroot -pwestos < /mnt/westos.sql

 

www.htsjk.Com true http://www.htsjk.com/mariadb/33582.html NewsArticle mariadb服务, mariadb数据库管理系统是MYSQL的一个分支,主要由开源社区在维护,采用GPL授权许可,是由MYSQL创始人麦克尔·维德纽斯主导开发的。 1.mariadb的安装 用yum仓库(7.0)安装mari...
相关文章
    暂无相关文章
评论暂时关闭