开启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。

1
2
3
4
5
6
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

1
2
3
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
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
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

posted on 2017-11-15 10:50  艾恩格朗特  阅读(160)  评论(0编辑  收藏  举报