在Linux中安装MariaDB并添加远程访问

最近学习到了数据库部分,因为有一台台式机一台笔记本换着用,就没有把数据库安装在本机,本来打算用之前买的虚拟空间的数据库的,结果速度太慢用起来太难受了,就把闲置的香橙派(类似树莓派的卡片电脑,强烈不建议非刚需买这玩意儿,基本闲置吃灰)拿出来安个MariaDB远程访问,下面是安装的步骤

注1:我的是Debian系系统,如果你是RedHat系,把apt换成dnf或者yum就好

注2:所有命令均需要root权限

安装MariaDB

1、安装MariaDB

apt install mariadb-server

2、启动MariaDB

systemctl start mariadb

3、设置MariaDB开机自启

systemctl enable mariadb

4、执行初始化命令

mysql_secure_installation

初始化过程中会提示进行如下配置

# 输入原来的root密码,这里没有密码,直接回车就可以了
Enter current password for root (enter for none): # 更改root密码?
Change the root password? # 删除匿名用户?
Remove anonymous users? # 禁用root远程登录? 注:我选了否,最后还是要自己配置
Disallow root login remotely? # 是否删除test测试数据库?
Remove test database and access to it? # 重新加载权限数据表
Reload privilege tables now?

配置完成后可以考虑重新启动一下MariaDB

systemctl restart mariadb

配置远程登录

MariaDB安装好后是默认不能通过远程连接的,需要做以下修改

1、修改地址绑定

编辑/etc/mysql/mariadb.conf.d/50-server.cnf文件

将其中的

bind-address = 127.0.0.1

更改为需要放行的地址,如更改为0.0.0.0则接受所有IP地址的连接请求

bind-address = 0.0.0.0

2、添加支持远程登录的用户

我们可以先查询以下

use mysql;
select host,user from user;

在我安装之后,只能看到一个本地root用户

host user
localhost root

所以要添加一个远程登录的用户,因为是自己用,我就直接添加了一个授予所有权限的用户,如果是生产环境,慎重!!!

-- 创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
--示例1,允许所有从任意地址登录的用户: create user 'ActionNet'@'%' identified by 'zxc123';
--示例2,允许从192.168.199.100登录的用户: create user 'ActionNet'@'192.168.199.100' identified by 'zxc123'; -- 授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
-- 示例:授予任意地址登录ActionNet用户所有数据库所有权限
GRANT ALL ON *.* TO 'ActionNet'@'%';

最近遇到了添加了远程账户还是无法登录的情况,具体为Access denied for user 'root'@'localhost'

这时候可以看看对应用户的plugin是不是mysql_native_password,因为这个才代表密码登录

select user,host,plugin from user;
User Host plugin
root localhost mysql_native_password

如果plugin不是这个,可以自己修改一下,正常修改表数据的SQL,就不写了

配置防火墙

之前因为我没有开防火墙,所以没想过会有这方面的问题,现在加上

# firewall
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --add-port=3306/tcp
# iptables
iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

添加完防火墙记得重启一下

在Linux中安装MariaDB并添加远程访问的更多相关文章

  1. 详解在Linux中安装配置MongoDB

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MongoDB 说实话为什么会装MongoDB呢,因为之前因为公司 ...

  2. 详解在Linux中安装配置MySQL

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MySQL 安装环境 CentOS7 + MySQL5.7 下载安 ...

  3. Linux中安装python3

    [centos7中安装python3]http://blog.csdn.net/wjqwinn/article/details/75633714 (一)安装python3前的准备工作1.修改文件中第一 ...

  4. 在Linux中安装JDK和IDEA

    前言 寒假安装虚拟机的时候我就没有安装好,到学校之后,因为时间紧加上更习惯Windows的操作习惯,我只在Windows上安装了JDK和IDEA,但是随着学习的深入,我发现用虚拟机写命令行.新建jav ...

  5. Linux中安装配置spark集群

    一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所 ...

  6. 完全零基础在Linux中安装 JDK

    完全零基础在Linux中安装 JDK 总体思路:先确定没有Java程序了 — 然后创建相应路径文件夹 — 下载JDK — 解压到当前路径 — 自定义文件名称 — 配置环境变量 — 检查是否安装成功 第 ...

  7. linux中安装jdk+jmeter-

    --------------linux中安装jdk+jmeter-------------------- 一.安装JDK7.0版本 .先卸载服务器自带的jdk软件包 # java -version # ...

  8. Python原来这么好学-1.2节: 在Linux中安装python

    这是一本教同学们彻底学通Python的高质量学习教程,认真地学习每一章节的内容,每天只需学好一节,帮助你成为一名卓越的Python程序员: 本教程面向的是零编程基础的同学,非科班人士,以及有一定编程水 ...

  9. Linux中安装字体

    Linux中安装字体 查看系统中的字体 fc-list 查看系统中的中文字体 fc-list :lang=zh将然后将字体文件拷贝到/usr/share/fonts/中 cp aa.ttl /usr/ ...

随机推荐

  1. Redundant Paths POJ - 3177 把原图变成边—双连通图

    无向图概念:(这里的x->y表示x和y之间有一条无向边)1.桥:对于一个无向图,如果删除某条边后,该图的连通分量增加,则称这条边为桥 比如1->2->3->4这样一个简单得图一 ...

  2. String常用方法介绍

    转载 int length(); 语法:字符串变量名.length(); 返回值为 int 类型.得到一个字符串的字符个数(中.英.空格.转义字符皆为字符,计入长度). String a=" ...

  3. 002、Python中json字符串与字典转换

    1.测试用例文件TestCase.xlsx 2.编写Python文件进行读取 #!/usr/bin/env python # -*- coding:utf-8 -*- import time impo ...

  4. Redis Cluster 分布式集群(上)

    Redis Cluster 介绍 Redis 集群是一个可以在多个Redis节点之间进行数据共享的设施(installation): Redis 集群不支持那些需要同时处理多个键的 Redis 命令, ...

  5. PyQt5笔记

    PyQt5 窗口类继承QMainWindow. 1.消息盒子QMessageBox 弹出一个窗口,根据选择的不同执行不同的操作.比如点击关闭后,实用消息盒子确认是否关闭. # 关闭QWidget将产生 ...

  6. 内网域渗透之MS14-068复现(CVE-2014-6324)

    在做域渗透测试时,当我们拿到了一个普通域成员的账号后,想继续对该域进行渗透,拿到域控服务器权限.如果域控服务器存在MS14_068漏洞,并且未打补丁,那么我们就可以利用MS14_068快速获得域控服务 ...

  7. TypeScript callback Object params

    TypeScript callback Object params 回调函数 对象 参数 const func = (options = {}) => { // do somthing retu ...

  8. SVG image tag

    SVG image tag https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/SVG_Image_Tag <?xml versi ...

  9. no code form generator

    no code form generator 无代码,表单生成器 H5 Drag & Drop UI => codes click copy demo https://www.forms ...

  10. css picture

    css picture https://github.com/cyanharlow https://diana-adrianne.com/ demo https://github.com/cyanha ...