授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为19216816的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON TO 'myuser'@'19216813'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES
使修改生效,就可以了
这个目前应该是MySQL比较新的版本了,教程仅在Linux平台上验证通过,其他平台请自证。提供步骤和思路方便快速分析和定位问题。
根据需求在完成理解前面步骤后,接下来需要配置允许远程连接(生产环境请通过ssh隧道方式,且mysql配置文件bind-address为特定ip或本机)
最后,感谢您的阅读,由于时间仓促,文章内容难免有不妥之处,欢迎交流和指正~~
Mark一下 惟月慎行 再也不会迷路了^_^!
mysql数据库远程访问设置方法
1、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword从ip为192168225166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON TO 'myuser'@'192168225166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3、泛授权
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON TO 'root'@'%' WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限
mysql>FLUSH PRIVILEGES;
1、改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从“localhost”改称“%”
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2、授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为19216816的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON TO 'myuser'@'19216813'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES
使修改生效,就可以了
另外一种方法:
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON TO 'root'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦。
最关键原因:windows firewall开启的原因。
添加例外:
Windows Vista 和 Windows Server 2008 以及更高版本
以下过程通过使用具有高级安全 Microsoft 管理控制台 (MMC) 管理单元的 Windows 防火墙来配置该 Windows 防火墙。从 Windows Vista 和 Windows Server 2003 开始提供此管理单元。高级安全 Windows 防火墙仅配置当前配置文件。有关高级安全 Windows 防火墙的详细信息,请参阅配置 Windows 防火墙以允许 SQL Server 访问。
打开 Windows 防火墙的端口以进行 TCP 访问
在“开始”菜单上,单击“运行”,键入 WFmsc,然后单击“确定”。
在“高级安全 Windows 防火墙”的左窗格中,右键单击“入站规则”,然后在 *** 作窗格中单击“新建规则”。
在“规则类型”对话框中,选择“端口”,然后单击“下一步”。
在“协议和端口”对话框中,选择 TCP。选择“特定本地端口”,然后键入数据库引擎实例的端口号,例如默认实例的端口号 1433。单击“下一步”。
在“ *** 作”对话框中,选择“允许连接”,然后单击“下一步”。
在“配置文件”对话框中,选择在您想要连接到数据库引擎时描述计算机连接环境的任何配置文件,然后单击“下一步”。
在“名称”对话框中,输入此规则的名称和说明,再单击“完成”。
在使用动态端口时打开对 SQL Server 的访问
在“开始”菜单上,单击“运行”,键入 WFmsc,然后单击“确定”。
在“高级安全 Windows 防火墙”的左窗格中,右键单击“入站规则”,然后在 *** 作窗格中单击“新建规则”。
在“规则类型”对话框中,选择“程序”,然后单击“下一步”。
在“程序”对话框中,选择“此程序路径”。单击“浏览”,导航到要通过防火墙访问的 SQL Server 实例,再单击“打开”。默认情况下,SQL Server 位于 C:\Program Files\Microsoft SQL Server\MSSQL10_50MSSQLSERVER\MSSQL\Binn\Sqlservrexe。单击“下一步”。
在“ *** 作”对话框中,选择“允许连接”,然后单击“下一步”。
在“配置文件”对话框中,选择在您想要连接到数据库引擎时描述计算机连接环境的任何配置文件,然后单击“下一步”。
在“名称”对话框中,输入此规则的名称和说明,再单击“完成”。
网络查询解决方案:
Step 1: 在服务器图标上单击右键,选择property,然后选connection,把allow remote connection选上,这一步的目的是让数据库允许远程连接。
Step 2: 在数据库服务器图标上,展开目录,找到Security下的Logins子目录树,设置SA账户的属性,改password,在status栏里,login选上enable。这一步的目的是,允许远程客户端使用sa用户邓肯,sa是system administrator的缩写,拥有数据库最高管理权限,默认状态下是禁用的。
Step3:在数据库服务器图标上右键,打开Facets选项把RemoteDacEnabled的value改成true。这一步的目的是允许建立远程专用管理员连接,此种连接拥有最高权限,即使无法建立标准连接,也可以建立DAC连接。
Step4:开启服务,打开SQL Server Configuration Tool,打开网络配置,选择TCP/IP协议,点开属性,IP地址填数据库所在服务器的IP地址,如果是本地服务器,填127001。
测试方法:
建立一个C# Console application源文件,代码如下:
[c-sharp] view plaincopy
class Program
{
static void Main(string[] args)
{
SqlConnection con = new SqlConnection("server=;uid=sa;pwd=123456789;database=MyTable");
try
{
conOpen();
ConsoleWriteLine("连接数据库成功");
}
catch
{
ConsoleWriteLine("无法连接数据库");
}
ConsoleReadKey();
}
}
如果能正常连接,则会提示连接成功。
Sql Server 2005的1433端口打开和进行远程连接
SQL code
如何打开sql server 2005 的1433端口
配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议
看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,
"已启用"改为"是"
配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP
选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"
SQL code
SQL Server 2005 远程连接
配置TCP/IP属性
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT
SQL Server 外围应用配置器—服务和连接外围配置—database englie—远程连接—启用(远程连接的TCP/IP和named pipes)
SQL Server Configuration Manager—SQL2005网络配置—启用TCP/IP和named pipes
-----------------------------------------------------------------------------------------
一般按如上即可
其他说明见下:
sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器,微软的官方网站有
下,安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。
1 开启sql2005远程连接功能,开启办法如下,
配置工具->sql
server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine
节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了
2登陆设置改为,Sql server and windows Authentication方式同时选中,具体设置如下:
manage管理器->windows
Authentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属
性>security>Sql server and windows Authentication方式同时选中
3:设置一个Sql server方式的用户名和密码,具体设置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式,
用户名为sa ,密码为:sa123456的用户进数据库了
4: 做完上面三步后,这样写连接字符串就可以顺利进入数据库了,
(server=\\sqlexpress;uid=sa;pwd=sa123456;database=master";
其它版本,做如下设置
程序—Microsoft SQL Server 2005—配置工具—SQL Server 外围应用配置器—服务和连接的外围应用配置器—
1、MSSQLserver(实例名)—DataBase Engine—远程连接—(设置选项)
在下方选项
2、SQL Server Browser—服务(停止时只本机访问)
3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—网络连接协议-选择实例对应协议—启用(shard memory、Named Pipes、TCP\IP)
注: SQL Server 浏览器程序以服务的形式在服务器上运行。SQL Server 浏览器侦听对 Microsoft SQL Server 资源的传入请求,
并提供计算机上安装的 SQL Server 实例的相关信息。
SQL Server 浏览器可用于执行下列三种 *** 作:
浏览可用服务器
连接到正确的服务器实例
连接到专用管理员连接 (DAC) 端点
SQL Server Browser 服务 (sqlbrowser) 为数据库引擎 和 SSAS 的每个实例提供实例名称和版本号。
SQL Server 浏览器随 Microsoft SQL Server 2005 一起安装,
为该计算机上运行的早期版本的 SQL Server(从 Microsoft SQL Server 70 开始)提供此服务。
以下语句具有和ROOT用户一样的权限。大家在拿站时应该碰到过。root用户的mysql,只可以本地连,对外拒绝连接。以下方法可以帮助你解决这个问题了,下面的语句功能是,建立一个用户为itpro 密码123 权限为和root一样。允许任意主机连接。这样你可以方便进行在本地远程 *** 作数据库了。CREATE USER 'itpro'@'%'IDENTIFIED BY '123';GRANT ALL PRIVILEGES ON TO 'itpro'@'%'IDENTIFIED BY '123'WITH GRANT OPTIONMAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;搞完事记得删除脚印哟。
你的MYSQL数据库里面有一个数据库,名字教做mysql,里面有个表,名字叫做user,你看一下这个表的结构和现有数据,你就知道应该怎么做了,比如你可以添加一条数据,Host为你指定的IP,user可以是%,password就不管了,后面设置相应的权限(可以全部都是Y),这样那个机器无论用什么用户和密码都可以连接数据库,而拥有你指定的权限。
耐心点吧,我相信你一看就明白。
第一步,打开电脑后在桌面上找到我的电脑图标,右键单击该图标后,选中d出菜单中的属性选项。
第二步,在d出的系统窗口中,点击左侧的高级系统设置选项。
第三步,打开系统属性窗口后,先点击上方的远程标签。
第四步,在下方的详情页面中,点击勾选允许远程连接到此计算机上,然后点击右侧的选择用户按钮。
第五步,在用户选择窗口中,点击下方的添加按钮。
第六步,d出用户选择页面后,点击下方的高级选项。
第七步,点击右侧的立即查找按钮,然后在下方选择用户,这样即可使用该用户进行远程登陆。
以上就是关于如何开启MySQL远程访问权限 允许远程连接全部的内容,包括:如何开启MySQL远程访问权限 允许远程连接、MySQL 8.0.23 数据库用户管理、权限分配和远程连接、Linux下mysql允许远程连接怎么设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)