開啟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遠程連接不上的解決://m.survivalescaperooms.com/article/103770.htm
Centos7.1防火墻開放端口://m.survivalescaperooms.com/article/103777.htm
CentOS 7開放端口://m.survivalescaperooms.com/article/103773.htm
ubuntu 15.04 mysql開放遠程3306端口://m.survivalescaperooms.com/article/103784.htm
//m.survivalescaperooms.com/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) |