为 MariaDB 配置远程访问权限
最近在配置MySQL远程连接的时候发现我的MySQL数据库采用的是 MariaDB 引擎,与普通的数据库配置有点不同
经过查找资料终于完成了,特此记录方便以后查询
MariaDB 与普通的MySQL数据库的一个不同在于它的配置文件不止一个,它将不同的数据放入到不同的配置文件中,之前的/etc/mysql/my.cnf内容如下:
从文件中的注释上来看,它主要有这么几个配置文件
- /etc/mysql/mariadb.cnf 默认配置文件,
- /etc/mysql/conf.d/*.cnf 设置全局项的文件
- "/etc/mysql/mariadb.conf.d/*.cnf" 设置与MariaDB相关的信息
- "~/.my.cnf" 设置该账户对应的信息
这也就是为什么我们在my.cnf做相关设置有的时候不起作用(可能在其他配置文件中有相同的项,MySQL最终采用的是另外一个文件中的设置)。
根据官方的说法, MariaDB为了提高安全性,默认只监听127.0.0.1中的3306端口并且禁止了远程的TCP链接,我们可以通过下面两步来开启MySQL的远程服务
- 注释掉skip-networking选项来开启远程访问.
- 注释bind-address项,该项表示运行哪些IP地址的机器连接,允许所有远程的机器连接
但是配置文件这么多,这两选项究竟在哪呢?这个时候使用grep在/etc/mysql/目录中的所有文件中递归查找,看哪个文件中含有这个字符串
我们输入:
grep -rn "skip-networking" *
,结果如下:
十分幸运的是这两项都在同一文件中(我自己的是没有skip-networking项)
我们打开文件/etc/mysql/mariadb.conf.d/50-server.cnf,注释掉bind-address项,如下:
只有这些仍然不够,我们只是开启了MySQL监听远程连接的选项,接下来需要给对应的MySQL账户分配权限,允许使用该账户远程连接到MySQL
输入
select User, host from mysql.user;
查看用户账号信息:
root账户中的host项是localhost表示该账号只能进行本地登录,我们需要修改权限,输入命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
修改权限。%表示针对所有IP,password表示将用这个密码登录root用户,如果想只让某个IP段的主机连接,可以修改为
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
注意:此时远程连接的密码可能与你在本地登录时的密码不同了,主要看你在IDENTIFIED BY后面给了什么密码
具体的请参考GRANT命令
最后别忘了
FLUSH PRIVILEGES;
保存更改。再看看用户信息:
这个时候发现相比之前多了一项,它的host项是%,这个时候说明配置成功了,我们可以用该账号进行远程访问了
输入
service mysql restart
```重启远程服务器,测试一下:

如果这些都做完了,还是不能连接,可以看一下端口是不是被防火墙拦截了
参考地址:[官方文档](https://mariadb.com/kb/zh-cn/configuring-mariadb-for-remote-client-access/)
为 MariaDB 配置远程访问权限的更多相关文章
- MariaDB配置远程访问权限
首先配置允许访问的用户,采用授权的方式给用户权限 1 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRAN ...
- 服务器安装mysql后配置远程访问权限
#登录mysql mysql -uroot -p: use mysql: #所有ip能访问 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED B ...
- mariadb(MySql)设置远程访问权限
[问题]mariadb(MySql)安装之后,本地连接mysql是可以的,但是远程的机器不能连接和访问. [解决]修改mysql远程连接的ip限制配置. [步骤]1.本地mysql客户端连接mysql ...
- 配置mysql远程访问权限,大家可能掉过的那些坑~
1 作为互联网技术从业人 或者粗暴点说:作为一个程序猿.测试从业者 如果没掉过一些坑,都不好意思说自己混过技术圈 2 今天重点讲:mysql开启远程访问权限的那些坑- 对于mysql开启远程访 ...
- MariaDB—配置允许(别的电脑IP)远程访问方式
首先配置允许访问的用户,采用授权的方式给用户权限 1 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRAN ...
- mariadb配置允许远程访问方式
首先配置允许访问的用户,采用授权的方式给用户权限 1 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRAN ...
- linux下mysql开启远程访问权限及防火墙开放3306端口
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 主流的有两种方法,改表法和授权法. 相对而言,改表法比较容易一点,个人也是比 ...
- ubuntu下安装mysql和配置远程访问
ubuntu下安装mysql和配置远程访问 下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...
- 【转】mysql给root开启远程访问权限,修改root密码
好记性不如烂笔头,偶然用一直忘.... mysql给root开启远程访问权限,修改root密码 1.MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1) ...
随机推荐
- eclipse 鲜为人知的调试技巧,你用过多少
今天在OSChina上看到了篇调试技巧,的确对于调试非常有帮助,而且大部分我们都没实用过,我们常常使用的调试是F5678四个键,假设你还想提高调试效率你能够尝试着用一用,写过代码做过项目的人都知道调试 ...
- cocos2dx中关于Action动作的相关API的具体介绍
//CCMoveBy 创建一个移动的动作 //參数1:移动到目标坐标所需的时间 //參数2:目标坐标 //支持reverse 能够获取其反向动作 //CCMoveTo 一样的 //CCAct ...
- itextpdf添加非自带字体(例如微软雅黑)
找到需要的字体,例如 在windows系统中找到需要字体,本例使用微软雅黑,使用C:\\Windows\\Fonts\\msyh.ttf. 代码如下: /** * 创建pdf,使用微软雅黑字体 * * ...
- Intellij IDEA编译代码出现红色标志
如图 原因:项目没有模块化加载 解决方法: 快捷键 Ctrl+Alt+Shift+S 进入 Project Structure 界面,选择 Modules --> Sources -->选 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ HTTP请求
POST/GET请求--常见请求方式处理
- Web服务器、应用服务器、Web容器、反向代理服务器区别与联系
作者: 帅虫哥 出处:www.cnblogs.com/vipyoumay/p/7455431.html(点击尾部阅读原文前往) 我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web ...
- JavaScript基础3——关于运算符
算数运算符 算数运算符有+.-.*./.%.++.--.=.类似+=的运算符,其使用方式与编程语言(Java.C++.C#等)基本一样.给定 y=5,下面的表格解释了这些算术运算符: 运算符 描述 例 ...
- Python Web框架(URL/VIEWS/ORM)
一.路由系统URL1.普通URL对应 url(r'^login/',views.login) 2.正则匹配 url(r'^index-(\d+).html',views.index) url(r'^i ...
- 10本Java书籍推荐
1. <深入理解Java虚拟机>是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中 ...
- 模板引擎(smarty)知识点总结三
阔别了几个月,小杨又来分享php知识.话不多说,言归正传,今天继续带来smarty的知识点. -----------------smarty assign append 详解 对于这两个的区别和联系 ...