在Linux上安装及配置MariaDB
安装MariaDB
1.切换到root用户,首先执行rpm -qa | grep -i mysql检查一下是否有已安装的与MySQL相关的东西,如果有,使用rpm -e --nodeps mysql*进行强制卸载
2.使用yum安装MariaDB,执行yum -y install mariadb mariadb-server
3.安装完成后,执行systemctl start mariadb 启动MariaDB,执行systemctl enable mariadb设置开机启动
配置MariaDB
1.执行mysql_secure_installation进行相关配置
- 首先是设置密码,会提示先输入密码:
* Enter current password for root (enter for none):<–初次运行直接回车
- 设置密码
* Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
* New password: <– 设置root用户的密码
* Re-enter new password: <– 再输入一次你设置的密码
- 其它配置
* Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
* Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
* Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
* Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
2.配置完成后,执行mysql -uroot -ppassword测试登录。其中root为要登录的用户名,password为刚才设置的root用户的密码
3.测试成功后,配置MariaDB的字符集
- 使用vi编辑器打开/etc/my.cnf,在[mysqld]中添加
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
- 使用vi编辑器打开/etc/my.cnf.d/client.cnf,在[client]中添加
default-character-set=utf8 - 使用vi编辑器打开/etc/my.cnf.d/mysql-clients.cnf,在[mysql]中添加
default-character-set=utf8 - 全部保存后,进入到MariaDB控制台,查看字符集
show variables like "%character%";show variables like "%collation%";
全部显示UTF-8则配置成功
配置MariaDB远程连接
进入到MariaDB控制台
1.执行如下语句建立用户并赋予所有操作权限。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
| 参数 | 说明 |
|---|---|
| username | 将要创建的用户名 |
| host | 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符% |
| password | 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器 |
2.给用户赋予远程登录权限
GRANT privileges ON databasename.tablename TO 'username'@'host'
| 参数 | 说明 |
|---|---|
| privileges | 用户的操作权限,如SELECT , INSERT , UPDATE 等(权限列表见文末)。如果要授予所的权限则使用ALL |
| databasename | 数据库名 |
| tablename | 表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.* |
3.修改完成后在MariaDB控制台执行FLUSH PRIVILEGES刷新配置权限使其生效
此时即可通过ip远程访问主机上的MariaDB了。
若仍不能访问,可进行以下检查:
1.查看/etc/my.cnf,如skip-networking、bind-address(或bindaddress)被配置,则需要将这两个参数注释掉。
skip-networking 这个参数,会导致所有TCP/IP端口没有被监听,也就是说除了本机,其他客户端都无法用网络连接到本MariaDB服务器。
而bind-address这个参数是指定哪些ip地址被配置,使得MariaDB服务器只回应哪些ip地址的请求
2.如果仍然不能访问,则有可能是防火墙的原因。在shell下执行/etc/init.d/iptables stop关闭防火墙。
附:MariaDB操作权限
| 权限 | 描述 |
|---|---|
| ALTER | Allows use of ALTER TABLE |
| ALTER ROUTINE | Alters or drops stored routines |
| CREATE | Allows user of CREATE TABLE |
| CREATE ROUTINE | Creates stored routines |
| CREATE TEMPORARY TABLE | Allows user of CREATE TEMPORARY TABLE |
| CREATE USER | Allows use ofCREATE USER,DROP USER,RENAME USER, and REVOKE ALL PRIVILEGES |
| CREATE VIEW | Allows use of CREATE VIEW |
| DELETE | Allows use of DELETE |
| DROP | Allows use of DROP TABLE |
| EXECUTE | Allows the user to run stored routines |
| FILE | Allows use of SELECT...INTO OUTFILE and LOAD DATA INFILE |
| INDEX | Allows use of CREATE INDEX and DROP INDEX |
| INSERT | Allows use of INSERT |
| LOCK TABLES | Allows use of LOCK TABLES on tables for which the user also has SELECT privileges |
| PROCESS | Allows use of `SHOW FULL PROCESSLIST |
| RELOAD | Allows use of FLUSH |
| REPLICATION | Allows the user to ask where slave or master |
| CLIENT | servers are |
| REPLICATION SLAVE | Needed for replication slaves |
| SELECT | Allows use of SELECT |
| SHOW DATABASES | Allows use of SHOW DATABASE |
| SHOW VIEW | Allows use of SHOW CREATE VIEW |
| SHUTDOWN | Allows use of mysqladmin shutdown |
| SUPER | Allows use of CHANGE MASTER,KILL,PURGE MASTER LOGS,andSET GLOBAL SQL statements. Allowsmysqladmin debug command.Allows one extra connection to be made if maximum connections are reached. |
| UPDATE | Allows use of UPDATE |
| USAGE | Allows connection without any specific privileges |
在Linux上安装及配置MariaDB的更多相关文章
- redis3.0.5在linux上安装与配置
redis3.0.5在linux上安装与配置 rhel6/ubuntu14 1 下载 # wget http://download.redis.io/releases/redis-3.0.5.tar. ...
- 记录下在阿里云linux上安装与配置Mysql
环境:阿里云ECS服务器,系统为centos7.2 用户:root 参考博客:https://blog.csdn.net/kunzai6/article/details/81938613 师兄的哈哈哈 ...
- 在Linux上安装和配置CSF(配置服务器安全和防火墙)
CSF是国外一家小公司开发的linux系统免费防火墙,它基于iptables工作,能有效缓解服务器压力,具有自动屏蔽暴力破解密码IP.管理开放端口.免疫轻量DDos和CC等等功能,同时,安装和使用也极 ...
- linux上安装配置samba服务器
linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...
- 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器
#!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...
- Linux上安装jdk1.8和配置环境变量
前言 Linux 上安装jdk1.8 和配置环境变量,参考相关文档,本人在此总结,操作归纳如下. 第一步:创建jdk安装目录(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容 ...
- Linux上安装配置Keepalived
Linux上安装配置Keepalived 1.下载 自行去Keepalived官网进行下载,也可以通过如下链接进行下载2.0.18版本(目前的稳定版) 链接:https://pan.baidu.com ...
- linux上安装LAMP笔记
B哥最近在参加比赛,需要把一个php项目部署到服务器上,故此在linux上安装LAMP环境,用于部署项目,第一次安装,做点儿笔记记录一下. 安装条件: Redhat或者CentOS linux环境已装 ...
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
随机推荐
- 使用MERGE语句同步表
先建好測试环境: USE TEMPDB GO IF OBJECT_ID('T1') IS NOT NULL DROP TABLE T1 IF OBJECT_ID('T2') IS NOT NULL D ...
- 洛谷P1316 丢瓶盖
题目描述 陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢? 输入输出 ...
- Day4上午解题报告
预计分数:50 +0+0=50 实际分数:50+0+10=60 毒瘤出题人,T3不给暴力分 (*  ̄︿ ̄) T1 https://www.luogu.org/problem/show?pid=T155 ...
- Objective-C基础笔记(1)基本概念和第一个程序
一.基本概念 Objective-C(简称OC)是iOS开发的核心语言,苹果公司在维护,在开发过程中也会配合着使用C语言.C++,OC主要负责UI界面,C语言.C++可用于图形处理.C语言是面向过程的 ...
- js-YDUI 移动端解决方案
/** * YDUI 可伸缩布局方案 * rem计算方式:设计图尺寸px / 100 = 实际rem 例: 100px = 1rem */ !function (window) { /* 设计图文档宽 ...
- vmware workstation15.1.0下载地址及密钥(亲测可用)
官网下载链接: https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.1.0-13591040.exe ...
- 异步调用WCF的方法需要小心的地方
直接使用下面的代码,由于client对象占用的资源没有被释放,会导致内存泄露GetSimServiceReference.GetSimServiceClient client = new GetSim ...
- Hadoop学习总结(2)——Hadoop入门详解
1.Hadoop介绍 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了一个系统底层细节透明的分布式架构,通过Hadoop,可以将大量的廉价机器的计算资源组织起来,解决单机 ...
- 用c实现的各种排序的方法
#include <stdio.h> void swap(int *a, int *b); void bubble_sort(int a[], int n); void select_so ...
- Android Multiple dex files define BuildConfig
dexOptions { preDexLibraries = false }