9下Mysql对用户授权远程访问权限,5下的MySQL的安

1.本土服务器登陆mysql

率先开启mysql的中远间隔访谈权限

centOS6.5下的MySQL的装置与布局

centOS6.5下的MySQL的装置与安排

  1. SSH Secure Shell Client

第大器晚成,安装SSH Secure Shell Client,那是风流洒脱款连接远程Linux系统的工具,简单的称呼SSH顾客端。

在Linux主机上安装好ip地址和端口号之后,张开SSH Client,点击Quick Connect,填写远程服务的ip地址,客商名(平时默以为root),和端口号。

步入系统后,现身 Add Profile,能够再里面输入二个名号作为标志,也等于事后都不要求使用客户名登入的快速方式。

  1. MySQL

一、安装

[[email protected] ~]# yum -y install mysql-server  // 安装MySQL
[[email protected] ~]# yum -y install php-mysql     // 安装php-mysql

二、启动

[[email protected] ~]# /etc/rc.d/init.d/mysqld start  //启动MySQL服务
Initializing MySQL database:      [ OK ]
Starting MySQL:                  [ OK ]

三、为root顾客安装密码

MySQL在刚刚被安装的时候,它的root用户是未有棉被服装置密码的。首先来设置MySQL的root密码。

[[email protected] ~]# mysql -u root  ←用root客户登陆MySQL服务器
Welcome to the MySQL monitor. Commands end with ;or g.
Your MySQL connection id is 2 to server version: 4.1.20

Type 'help;' or 'h' forhelp. Type 'c' to clear the buffer.

mysql> select user,host,password from mysql.user;  ← 查看客商消息
------ ------------------------------ ---------------
| user | host          | password |
------ ------------------------------ ---------------
| root | localhost        |       |  ← root密码为空
| root | sample.centospub.com |      |  ← root密码为空
|   | sample.centospub.com |       |
|   | localhost       |       |
------ ------------------------------ ---------------
4 rows in set (0.00 sec)

mysql> set password for [email protected]=password('在此边填入root密码');  ← 设置root密码
Query OK, 0 rows affected (0.01 sec)

mysql> set password for [email protected]'sample.centospub.com'=password('在这里处填入root密码');  ← 设置root密码
Query OK, 0 rows affected (0.01 sec)

mysql> select user,host,password from mysql.user;  ← 查看客商音讯
------ ----------------------------------- --------------------------------
| user | host          | password      |
------ ----------------------------------- --------------------------------
| root | localhost        | 19b68057189b027f |  ←root密码被安装
| root | sample.centospub.com  | 19b68057189b027f |  ←root密码被安装
|    | sample.centospub.com  |           |
|    | localhost        |          |
------ ----------------------------------- --------------------------------
4 rows in set (0.01 sec)

mysql> exit  ← 退出MySQL服务器
Bye

然后,测量检验一下root密码有未有收效。

[[email protected]~]# mysql -u root  ← 通过空密码用root登入
E瑞鹰RO凯雷德 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)  ← 出现此错误消息表达密码设置成功
[[email protected] ~]# mysql -u root -h sample.centospub.com ← 通过空密码用root登入
EGL450ROLAND 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)  ← 现身此错误新闻表明密码设置成功
[[email protected] ~]# mysql-u root -p  ← 通过密码用root登陆
Enter password:  ← 在此边输入密码
Welcome to the MySQL monitor. Commands end with ; or g.  ← 确认用密码能够得逞登陆
Your MySQL connection id is 5 to server version: 4.1.20

Type 'help;' or 'h' forhelp. Type 'c' to clear the buffer.

mysql> exit
Bye
[[email protected] ~]# mysql -u root -hsample.centospub.com -p  ←通过密码用root登入
Enter password:  ← 在这里间输入密码
Welcome to the MySQL monitor. Commands end with ; or g.  ← 确认用密码能够得逞登入
Your MySQL connection id is 6 to server version: 4.1.20

Type 'help;' or 'h' forhelp. Type 'c' to clear the buffer.

mysql> exit  ← 退出MySQL服务器
Bye

假如设置密码成功今后,现在再登陆使用就不用安装密码了

直接敲

[[email protected]~]# mysql -u root即可。

  1. 安装MySQL Workbench

在这里此前,确认保障您的微管理器已安装

  • Microsoft .NET Framework 4 Client Profile
  • Visual C Redistributable for Visual Studio 2013
    在MySQL Workbench成功安装后,就可以连接ip和端口。
    内需小心的是,固然您Linux中的相应端口的防火墙未有关闭,是心有余而力不足连接的。
    以下是关于防火墙的Linux命令:
    (1)永世生效,重启后不再原 (不推荐)

    开启: chkconfig iptables on

    关闭:chkconfig iptables off

    (2)即时生效,重启后回复(存在安全隐患)

    开启: service iptables start

    关闭: service iptables stop

    (3)针对某些端口的,以3306为例 该方式转自:

    1、开启端口

    方法一:

    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 写入纠正

    /etc/init.d/iptables save 保存改革

    service iptables restart 重启防火墙,改良生效

    方法二:

    vi /etc/sysconfig/iptables 展开配置文件插足如下语句:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport3306 -j ACCEPT 重启防火墙,改善完成

    2、关闭端口

    方法一:

    /sbin/iptables -I INPUT -p tcp --dport3306 -j DROP 写入改良

    /etc/init.d/iptables save 保存改进

    service iptables restart 重启防火墙,改革生效

    方法二:

    vi /etc/sysconfig/iptables 展开配置文件参预如下语句:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport3306 -j DROP 重启防火墙,改过达成

    3、查看端口状态

    /etc/init.d/iptables status

    在装置完防火墙之后,一定要重启防火墙

    service iptables restart
    
最后附上MySQL的安装和配置的.doc文件,(已验证)的是我操作过的,也是必须的。

http://www.bkjia.com/Mysql/947292.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/947292.htmlTechArticlecentOS6.5下的MySQL的安装与配置
centOS6.5下的MySQL的安装与配置 1. SSH Secure Shell Client
首先,安装SSH Secure Shell
Client,这是一款连接远程Linux系统的...

#mysql -uroot -proot

1、登陆mysql

 

mysql -u root -p

2.授权远程登入

2、授权远程登入权限


mysql>grant all privileges on *.* to 'username'@'%' identified by 'password' with grant option;

改良mysql库的user表,将host项,从localhost改为%。%这里代表的是允许率性host访谈,借使只允许某几个ip访问,则可改为对应的ip,举例能够将localhost改为192.168.77.123,那象征只允许局域网的192.168.77.123以此ip远程访谈mysql。

netstat -anp|

mysql>flush privileges;

mysql> use mysql;

展开防火墙的端口3306

//个中username为远程登入的客户名,password为远程登入的顾客密码

mysql> update user set host = '%' where user = 'root';

#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
然后保留:
#/etc/rc.d/init.d/iptables save  

//第二行flush privileges;是刷新授权表,重新授权

or

翻看打开的端口:
# /etc/init.d/iptables status

//授权特定ip的话,将第风姿浪漫行中@前边的%改成特定可长途的ip就可以

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YOUR_PASSWORD' WITH GRANT OPTION;


//授权特定的权限的话,将率先行中的all改成select,insert,update,delete就能够,各类权力用“,”隔开分离就可以

mysql> select host, user from user;//查看权限

补偿表达:

 

mysql> flush privileges;

#闭馆防火墙
/etc/init.d/iptables stop
service iptables stop # 结束服务
#查看防火墙消息
/etc/init.d/iptables status

3.授权截止以往重启Mysql

第二步:防火墙开放3306端口

#开放端口:8080
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
#重启防火墙以便更正生效:(也许直接重启系统)
/etc/init.d/iptables restart
#将改成进行封存
/etc/rc.d/init.d/iptables save

mysql>exit;

累加须要监听的端口

其它直接在/etc/sysconfig/iptables中追加黄金年代行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
#长久关闭防火墙
chkconfig –level 35 iptables off #此方法源自互联网,未试验,安全思索推却利用此方式

#service mysqld restart

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

 图片 1

//mysql重启以后,用另意气风发台电脑(服务器?)在巅峰输入#mysql -h ip.ip.ip.ip -P 3306 -u root -p                    (此番设置的username为root,假使是上下一心设置的话,自身把root换来团结相应的username就能够)

保留设置


//mysql私下认可端口为3306,假如不是,能够在当地服务器mysql> show global variables like 'port';       查看本机端口

/etc/init.d/iptables save

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL .

//在顶峰输入:#mysql -h ip.ip.ip.ip -P 3306 -u root -p,分界面结果却现身至极:ESportageRO智跑 二零零四 (HY000): Can't connect to MySQL server on 'ip.ip.ip.ip' (113)

查阅处境

当使用Mysql帐号远程登录的时候,现身相似如下错误:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL

//查看错误代码,是哪些导致了那个颠倒是非:#perror 113  界面突显:OS error code 113:  No route to host,未有路由,但互联网健康(www.baidu.com;有些人会讲百度一半的用处是寻找东西,此外八分之四是质量评定互连网是还是不是连通着的),推断应该是防火墙恐怕代理现身难题

/etc/init.d/iptables status 

消亡办法:

//查看防火墙端口服务:#service iptables status,发掘结果中并从未3306端口,张开防火墙的3306端口试试:# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

在回来消息中有这一条

1. 改表法(只怕是你的帐号分歧意从远程登入,只可以在localhost。这时候若是在localhost的那台计算机,登录mysql后,纠正"mysql" 数据Curry的 "user" 表里的 "host" 项,从"localhost"改称"%")

//上边的iptables指令拆解深入分析:-I是insert插入准则,-p是protocol钦命左券,--dport是目标端口,-j参数后续跟的动作,ACCEPT动作将封包放行,实行完此管理动作后,将不再比对别的法规,直接跳往下三个法规链(natostrouting)。()

ACCEPT    tcp  --  0.0.0.0/0      0.0.0.0/0          tcp dpt:3306

c:/mysql/mysql server 5.1>mysql -u root -p

//再查看防火墙端口服务:#service iptables status

有时关闭防火墙服务

输入相应密码

                                          num target prot opt source destination 

service iptables stop

mysql>use mysql;

                                          x ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306

展开防火墙服务

mysql>show tables; (确认一下表user是不是留存)

//很肯定3306端口已经开发了,不过你之后还想拜谒如何做,那么你就把该准绳保存下去#service iptables save下一场再让防火墙重新开动生效#service iptables restart

service iptables start

mysql>update user set host='%' where user='root';

 

开机不再运维防火墙服务

mysql>quit

4.再用其它大器晚成台微型Computer访谈

chkconfig iptables off

退出mysql

#mysql -h ip.ip.ip.ip -P 3306 -u root -p

地点两步操作完后,再度用navicat连接mysql成功

c:/mysql/mysql server 5.1>net stop mysql

//输入password,本机显示登入成功,假诺不分明本身是或不是登入到了投机开放访谈的服务器,能够mysql>show databases;    或     mysql>select host,user,password from mysql.user;查看是或不是上下一心的服务器上的顾客数据库和顾客名和密码就可以确认是否探望到了和煦设定的长途服务器了

c:/mysql/mysql server 5.1>net start mysql

今昔长途连接那部mysql服务器就行了

c:/mysql/mysql server 5.1>mysql -h 192.168.1.3 -u root -p

  1. 授权法
    比方说,你想myuser使用mypassword从其余主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
要是您想同意客户myuser从ip为192.168.1.3的主机连接到mysql服务器,并应用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 


长途连接mysql 授权方法详解

今在服务器上 有mysql 数据库,远程访谈,不想昭示root账户,所以,创立了demo账户,允许demo账户在此外地点都能访问mysql数据库中shandong库。
方案一:
在装置mysql的机器上运营:
1: 创建user用户
复制代码 代码如下:
CREATE USER demo IDENTIFIED BY “123456”

2、
复制代码 代码如下:
mysql>GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'WITH GRANT OPTION
//付与任何主机访问数据的权力,也能够如下操作
GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

3、
复制代码 代码如下:
mysql>FLUSH PRIVILEGES
//改正生效

4、
复制代码 代码如下:
mysql>EXIT
//退出MySQL服务器,那样就足以在别的任何的主机上以demo身份登入

引用
其余,当用客商端连接 mysql 时,发掘不可能连接,看来必要对顾客展开双重授权。操作如下:
[[email protected] mysql]# bin/mysql -uroot -p -h 127.0.0.1 -A cws3
Enter password:
Welcome to the MySQL monitor. Commands end with or /g.
Your MySQL connection id is 1863 to server version: 4.1.20-standard
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql> grant ALL PRIVILEGES ON *.* to [email protected]"%" identified by "mysql" ;
Query OK, 0 rows affected (0.17 sec)
意识这么改善权限今后,远程依然不能三番五次,然而用上边包车型客车操作就足以了。
mysql> grant ALL PRIVILEGES ON *.* to [email protected]"%" identified by "mysql" WITH GRANT OPTION;
Query OK, 0 rows affected (0.17 sec)
那会儿, root 能够被远程连接,当然这里创设其余非 root 客商也得以中距离连接。

方案二:
MySQL 1130荒唐解决方法:
透过MySQL-Front或MySQL administrator连接MySQL的时候发出的这么些荒谬
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
证实所连接的客商帐号未有远程连接的权杖,只可以在本机(localhost)登入。
需改良 MySQL 数据Curry的 user表里的 host项
把localhost改称%

具体步骤:登录到MySQL
首先 use MySQL;
安分守纪外人提供的秘籍update的时候,现身错误。
MySQL> update user set host='%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
接下来查看了下数据库的host消息如下:
MySQL> select host from user where user = 'root';
-----------------------
| host |
-----------------------
| % |
| 127.0.0.1 |
| localhost.localdomain |
-----------------------
3 rows in set (0.00 sec)
host已经有了%以此值,所以直接运维命令:
复制代码 代码如下:
MySQL>flush privileges;

再用MySQL administrator连接...成功!!   


图片 2

图片 3

netstat -anp| 展开防火墙的端口...

本文由星彩网app下载发布于星彩彩票app下载,转载请注明出处:9下Mysql对用户授权远程访问权限,5下的MySQL的安

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。