首页 Linux正文

MariaDB基础配置

王昊 Linux 2019-07-14 362 0

为什么要用MariaDB?

CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

MariaDB安装

yum install -y mariadb mariadb-server

开启MariaDB

systemctl start mariadb

查看MariaDB运行状态

systemctl status mariadb

设置开机自启

systemctl enable mariadb

初始化MariaDB

mysql_secure_installation


首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,出于安全考虑,一般不推荐用root账户远程登陆,我们可以在本地用root账户为数据库建立对应的账户并分配权限来管理,这里回车(后面授权配置)

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

打开配置文件,并按需求修改或添加某些配置

例如:

vim /etc/my.cnf

datadir=                      数据库存储位置
Bind_address=192.168.22.33    服务仅监听在192.168.22.33上
skip_name_resolve=1           关闭数据库域名解析功能
innodb_file_per_table=1       innodb开启独立表空间模式

数据库的存储目录的所属用户和组都要改变为mysql,

chown mysql:mysql 数据库存储目录

重启mariadb:

systemctl restart mariadb

用户与权限

创建用户:CREATE USER ‘username‘@’hostname’ IDENTIFIED BY ‘password’;

其中,username为用户名;hostname为主机,localhost指本地用户,通配符%指可以从远程主机登陆用户,如果不指定host,则默认为%;password为密码,可以为空。

注:这种方式需要登录mysql控制台

为用户设置权限:

授予username用户在所有数据库上的所有权限:
 GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';

撤销username用户在所有数据库上的所有权限:
 REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';

授予username用户在xxx数据库上的所有权限:
 GRANT ALL PRIVILEGES ON xxx.* TO 'username'@'localhost' IDENTIFIED BY 'password';

授予username用户在xxx数据库上的SELECT, UPDATE权限:
 GRANT SELECT, UPDATE ON xxx.* TO 'username'@'localhost' IDENTIFIED BY 'password';

注意:上述命令中 @localhost 指的是本地,如果需要远程登录数据库,则使用 @’%’

刷新权限:

MariaDB [(none)]> FLUSH PRIVILEGES;

删除用户:

MariaDB [(none)]> DROP USER username@localhost;

假如如果我想从某数据库(例如wordpress,)授权某用户(例如wordpress用户)能通过192.168.XX.%网段的主机执行所有操作

登录数据库

mysql -uroot -p

MariaDB [(none)]> create database wordpress;        
新建wordpress数据库
MariaDB [(none)]> grant all privileges on wordpress.* to 'wordpress'@'192.168.11.%';

通过指令获取wordpress用户的权限

MariaDB [(none)]> show grants for ‘wordpress‘@’192.168.11.%’;

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论