当前位置:   article > 正文

新装mariadb以及消除隐患和设置远程链接_debian系统maridb远程连接

debian系统maridb远程连接

昨晚,我是在linux安装的mariadb。期间遇到了N个问题,现把我遇到问题的各种解决方法发出来,供大家避坑。
首先,安装的时候,要同时安装客户端和服务端

yum -y install mariadb mariadb-server
  • 1

必须要安装两个,一个
必须要安装两个,一个是客户端,一个是服务端。
然后我们等待即可
在这里插入图片描述
安装完成,首先我们启动Mariadb

[root@VM-16-5-centos ~]# systemctl start mariadb
  • 1

然后配置密码并消除隐患

[root@VM-16-5-centos ~]# mysql_secure_installation
  • 1

在这里插入图片描述
这个我们刚装好,没有密码,按回车就好
在这里插入图片描述

这个为root用户设置密码,按y确认,设置成你自己的即可
在这里插入图片描述
移除访客用户,为了安全起见,这个选y

在这里插入图片描述
是否禁止root用户远程登陆?看自己的选择,我这里需要远程登陆,选择的否
在这里插入图片描述
是否删除测试数据库,这个选是
在这里插入图片描述
立即重读特权表,这个选是

在这里插入图片描述
这个数据库服务端算是装好了。
下面开始链接数据库,首先开启他的远程链接
首先,在服务器上链接mariadb
在这里插入图片描述
然后输入命令,use mysql;

select  User,authentication_string,Host from user;
  • 1

通过命令可以看到当前只有一个用户root,并且Host为localhost,即只能本地访问权限。
开启远程访问权限
一般有两种,改表法,还有种授权法

方法1:改表法

update user set host='%' where user='root';
  • 1

这个我试过,可能玄学问题,我没有成功

方法2:授权

赋予任何主机访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
  • 1
  • 2

我用的这个,是测试成功的

你也可以讲root@%改成用户名@ip,只允许指定ip访问

这里有个坑,不要把你的这个授权密码改成和数据库密码一样的,不然会一直报错1045拒绝登录
在这里插入图片描述
提示成功,然后刷新权限表

FLUSH PRIVILEGES;
  • 1

然后再次查看user表

select  User,authentication_string,Host from user;    
  • 1

然后建议重启mariadb

这里如果你是云服务器,建议不要马上去链接,你还需要关闭防火墙,selinux,在云服务器控制台开启3306端口

最好是重启下服务器
然后再开启mariadb
在这里插入图片描述
然后就连接成功了

下面用pymysql这个模块进行链接

import pymysql
db=pymysql.connect(host='你的数据库ip',user='root',passwd='刚才你设置的登录密码,不是数据库密码',database='你的数据库',charset='utf8',port=3306)
cur=db.cursor()
cur.execute('insert into dytt_tab values(%s,%s)',['内容'])
db.commit()
cur.close()
db.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

然后就可以了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/786646
推荐阅读
相关标签
  

闽ICP备14008679号