前言:

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

问题解决:

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

[root@localhost ~]# mysql_secure_installationNew password: Re-enter new password: Password updated successfully!Reloading privilege tables.. ... Success!By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem. This is intended only for testing, and to make the installationgo a bit smoother. You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n]  ... Success!Normally, root should only be allowed to connect from 'localhost'. Thisensures 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 canaccess. This is also intended only for testing, and should be removedbefore 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 farwill take effect immediately.Reload privilege tables now? [Y/n]  ... Success!Cleaning up...All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB![root@localhost ~]# systemctl restart mariadb  #完成初始化之后,重启服务。

这里分为两种情况:

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连接。

更多相关文章

  1. Linux下MYSQL 5.7 找回root密码的问题(亲测可用)
  2. Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
  3. mybatisplus的坑 insert标签insert into select无参数问题的解决
  4. 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
  5. Android软键盘适配问题
  6. SlidingMenu和ActionBarSherlock结合做出出色的App布局,Facebook
  7. android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0
  8. Android(安卓)Calendar使用过程中遇到的问题
  9. flutter-使用第三方库,编译和运行版本不一致问题 2

随机推荐

  1. android textview属性
  2. Android当中layer-list使用
  3. [Android] 布局基础知识点
  4. Android开发者指南(8) —— What is Andr
  5. Android游戏开发系列教程第五讲(后台服务)
  6. 【Android】Android Parcelable 源码解析
  7. 设置ScrollView滚动条的颜色
  8. 类加载机制系列2——深入理解Android中的
  9. android的自定义弹出窗
  10. 为Android内核添加新驱动,并添加到menucon