时间:2021-05-02
前言:
安装过程不再赘述,直接说问题,mysql的远程连接需要解决两个问题:1.允许root用户远程连接。2.允许任意ip远程连接数据库。当然,在测试和解决问题之前,得首先保证你的数据库与远程主机之间的网络通信没有问题,简单的来说,就是互相ping通,其次,为了避免防火墙的干扰,将本地主机和数据库主机的防火墙都关闭,当然,生产环境下防火墙肯定是要打开的,并且需要额外的安全配置。
问题解决:
1.新安装的数据库默认是需要初始化的,在数据库服务启动的情况下,使用下面的命令来进行初始化。
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [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连接。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/xiaoyuxixi/p/12069022.html
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python-paramiko模块远程执行ssh命令nohup不生效的问题解决1、使用paramiko模块ssh登陆到linux执行nohup命令不生效#执行命
一、首先设置Redis密码,以提供远程登陆打开redis.conf配置文件,找到requirepass,然后修改如下:requirepassyourpasswo
很多站长都知道远程登陆windows云服务器,却不知道如何远程登陆linux云服务器系统的,这里我们给大家做个教程。linux系统都是通过指令来操作的,没有图形
某客户的ecshop后台登陆后,显示成功,但是自动退出到登陆界面。问题解决:因为windows系统不区分目录大小写,而php是区分大小写的那么http://你的
腾达A301路由器登陆设置界面无法登录问题解决方案使用电脑无法登陆A301设置界面有两种情况:一种是:A301桥接前电脑无法登陆设置界面。另一种是:A301桥接