新安装mariadb远程登陆配置及相关问题排查
2024-08-25 06:49:10
前言:
安装过程不再赘述,直接说问题,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 '' with grant option;
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。
2)支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '' 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连接。
最新文章
- 关于VS快捷键的使用总结
- 【BZOJ 2818】gcd 欧拉筛
- python--Subprocess模块
- JavaWeb项目开发案例精粹-第3章在线考试系统-007View层
- 调用DEDE日期时间格式整理大全
- js实现方法的链式调用
- 几个关于JPEGLIB库的博客
- CSS绑定
- 201521123066 《Java程序设计》第三周学习总结
- ABP中mapping中忽略属性
- web渗透测试基本步骤
- rsync的man手册(未完成)
- 事物注解方式: @Transactional
- Qt Xml Dom
- sqlserver 数据迁移
- Laravel创建自定义 Artisan 控制台命令实例教程
- centos7 python3.5中引入sqlite3
- WebGL编程指南理论分析之物体层次模型(局部运动)
- C#之初识单例模式
- python3【基础】-and和or的短路逻辑
热门文章
- 如何在后台封装el-tree所需要的数据格式
- 拎壶学python3-----(5)python之格式化输出
- vue项目中安装使用vux
- Java描述设计模式(23):访问者模式
- 🔥《手把手教你》系列基础篇之4-python+ selenium自动化测试-xpath使用(详细教程)
- Python拼接字符串的七种方式
- 剑指Offer-27.字符串的排列(C++/Java)
- 利用Spring AOP的通知类型以及创建通知
- Java8 日期时间API
- VLAN实验2(配置Trunk接口)