ubuntu 16.04下mysql5.7.17开放远程3306端口
开启MySQL的远程访问权限
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。
主流的有两种方法,改表法和授权法。
相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法
1、登陆mysql
mysql -u root -p
2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
mysql> use mysql; mysql> select host,user form user; mysql>update user set host = '%' where user ='root'; mysql>select host,user from user; mysql> flush privileges; mysql> quit; |
首先查看端口是否打开 netstat -an|grep 3306
打开mysql配置文件vim /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address = 127.0.0.1注销?
重启动ubuntu
再次查看端口是否打开 netstat -an|grep 3306
================================
将root用户授权给所以连接:grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
最后一个为mysql密码?
让权限立即生效:flush privileges;?
到此所以操作完成,可以在任何主机连接此mysql数据库服务器了。
MySQL远程连接不上的解决:http://www.jb51.net/article/103770.htm
Centos7.1防火墙开放端口:http://www.jb51.net/article/103777.htm
CentOS 7开放端口:http://www.jb51.net/article/103773.htm
ubuntu 15.04 mysql开放远程3306端口:http://www.jb51.net/article/103784.htm
http://www.jb51.net/article/103766.htm
root@3bc476b7e0d5:~# vim /etc/mysql/mysql.conf.d/mysqld.cnf root@3bc476b7e0d5:~# netstat -an | grep 3306 tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN |
root@3bc476b7e0d5:/# service mysql enable Usage: /etc/init.d/mysql start|stop|restart|reload|force-reload|status root@3bc476b7e0d5:/# netstat -an | grep 3306 tcp6 0 0 :::3306 :::* LISTEN root@3bc476b7e0d5:/# mysql --version mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper root@3bc476b7e0d5:/# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.16-0ubuntu0.16.04.1 (Ubuntu) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | fabric | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.02 sec) |
上面就是这篇文章的全部内容,希望对大家的学习和工作有所帮助。
原文链接:http://blog.csdn.net/williamfan21c/article/details/54619220