Mariadb远程登陆配置及问题解决

 更新时间:2020年08月03日 11:23:58   作者:小雨淅淅o0  
这篇文章主要介绍了Mariadb远程登陆配置及问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前言:

  安装过程不再赘述,直接说问题,mysql的远程连接需要解决两个问题:1.允许root用户远程连接。2.允许任意ip远程连接数据库。当然,在测试和解决问题之前,得首先保证你的数据库与远程主机之间的网络通信没有问题,简单的来说,就是互相ping通,其次,为了避免防火墙的干扰,将本地主机和数据库主机的防火墙都关闭,当然,生产环境下防火墙肯定是要打开的,并且需要额外的安全配置。

问题解决:

1.新安装的数据库默认是需要初始化的,在数据库服务启动的情况下,使用下面的命令来进行初始化。

[root@localhost ~]# mysql_secure_installation
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] 
 ... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n  #如果是为root用户配置远程登陆,这里需要选择n,不选择禁止root用户远程登陆,别的选择都无关紧要。
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] 
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] 
 ... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB![root@localhost ~]# systemctl restart mariadb  #完成初始化之后,重启服务。

2.允许root用户远程连接与允许任意ip远程连接数据库都是可以通过在数据库里执行一条命令来实现的。

这里分为两种情况:

1)新建admin用户远程连接mysql数据库(新建任意用户,以admin为例)

grant all on *.* to admin@'%' identified by '123456' with grant option;
flush privileges;

允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。

2)支持root用户允许远程连接mysql数据库

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

需要注意的是,为root用户配置远程登陆,密码需要和之前配置的密码一致。

3.ubuntu系统的额外配置。

Ubuntu系统的my.cnf文件在vim /etc/mysql/mysql.conf.d/mysqld.cnf中,注释掉其中的

bind-address = 127.0.0.1

centos系统的配置文件中默认没有该行。

检查的办法也很简单,在数据库启动的前提下,使用netstat -an | grep 3306查看端口的连接信息。0.0.0.0则表示允许任意IP连接。

如图所示则为允许任意IP连接。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • MySQL中的排序函数field()实例详解

    MySQL中的排序函数field()实例详解

    这篇文章主要给大家介绍了关于MySQL中排序函数field()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • MySQL8.0.32安装及环境配置过程

    MySQL8.0.32安装及环境配置过程

    这篇文章主要介绍了MySQL8.0.32安装以及环境配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • mysql存储emoji表情报错的处理方法【更改编码为utf8mb4】

    mysql存储emoji表情报错的处理方法【更改编码为utf8mb4】

    这篇文章主要介绍了mysql存储emoji表情报错的处理方法,较为详细的分析了通过更改mysql编码为utf8mb4解决存储emoji表情报错的相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • MySQL 8.0 新特性之检查约束的实现

    MySQL 8.0 新特性之检查约束的实现

    这篇文章主要介绍了MySQL 8.0 新特性之检查约束的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • MYSQL的索引使用注意小结

    MYSQL的索引使用注意小结

    这篇文章主要介绍了MYSQL的索引使用注意,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • mysql sql_mode="" 的作用说明

    mysql sql_mode="" 的作用说明

    在看discuz源码时看到了sql_mode="",不知道是干嘛的,猜想是设置模式,但是不清楚是什么模式,于是从网上搜了下,sql_mode="" 的作用
    2011-08-08
  • 浅谈Mysql insert on duplicate key 死锁问题定位与解决

    浅谈Mysql insert on duplicate key 死锁问

    本文介绍了在并发场景下的 insert on duplicate key update sql 出现的死锁,经过分析发现这种sql确实比较容易造成死锁,这篇文章就从分析死锁展开,到最终如何解决这样的问题 分享相应的思路,感兴趣的可以了解一下
    2022-05-05
  • MySQL嵌套事务所遇到的问题

    MySQL嵌套事务所遇到的问题

    这篇文章主要介绍了MySQL嵌套事务所遇到的问题的相关资料,需要的朋友可以参考下
    2017-02-02
  • MySQL 使用触发器记录用户的操作日志问题

    MySQL 使用触发器记录用户的操作日志问题

    使用 MySQL 触发器可以记录哪些用户、什么时间对数据表进行了增、删、改操作。如果执行删除操作,则记录删除之前的数据记录;如果执行更新操作,记录更新之前的数据记录,这篇文章主要介绍了MySQL 使用触发器记录用户的操作日志,需要的朋友可以参考下
    2022-12-12
  • MySql update语句的详细用法

    MySql update语句的详细用法

    这篇文章主要给大家介绍了关于MySql update语句的详细用法,Update 是SQL中用于更新表格中已有记录的命令,通过使用Update命令,您可以更新表格中的一行或多行记录,并根据需要更改它们的值,需要的朋友可以参考下
    2023-11-11

最新评论