博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两个,当时用的那个不记得了
阅读量:6164 次
发布时间:2019-06-21

本文共 2306 字,大约阅读时间需要 7 分钟。

开启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远程连接不上的解决:

Centos7.1防火墙开放端口:

CentOS 7开放端口:

ubuntu 15.04 mysql开放远程3306端口

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

转载于:https://www.cnblogs.com/elenz/p/7837792.html

你可能感兴趣的文章
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
linux后台运行程序
查看>>
Oracle中drop user和drop user cascade的区别
查看>>
登记申请汇总
查看>>
Android Jni调用浅述
查看>>
(二)Spring Boot 起步入门(翻译自Spring Boot官方教程文档)1.5.9.RELEASE
查看>>
Shell基础之-正则表达式
查看>>
讲讲吸顶效果与react-sticky
查看>>
c++面向对象的一些问题1 0
查看>>
售前工程师的成长---一个老员工的经验之谈
查看>>
Get到的优秀博客网址
查看>>
老男孩教育每日一题-第107天-简述你对***的理解,常见的有哪几种?
查看>>
Python学习--time
查看>>
在OSCHINA上的第一篇博文,以后好好学习吧
查看>>
Spring常用注解
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>