mysql创建用户远程访问
❶ mysql如何创建新用户
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):
1.新建用户
1.1 登录MYSQL:
@>mysql -u root -p
@>密码
1.2 创建用户:
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
这样就创建了一个名为:test 密码为:1234 的用户。
注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。
1.3 然后登录一下:
mysql>exit;
@>mysql -u test -p
@>输入密码
mysql>登录成功
2.为用户授权
授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:
@>mysql -u root -p
@>密码
2.2 首先为用户创建一个数据库(testDB):
mysql>create database testDB;
2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):
mysql>grant all privileges on testDB.* to test@localhost identified by '1234';
mysql>flush privileges;//刷新系统权限表
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
2.4 如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on testDB.* to test@localhost identified by '1234';
mysql>flush privileges; //刷新系统权限表
2.5 授权test用户拥有所有数据库的某些权限:
mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";
//test用户对所有数据库都有select,delete,update,create,drop 权限。
//@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
//对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。
❷ linux下mysql允许远程连接怎么设置
本地计算机ip:192.168.1.100
远程计算机ip:192.168.1.244
远程计算机打开 mysql 服务器:#/etc/init.d/mysql.server start
本地计算机连接远程 mysql服务器:./mysql -h "192.168.1.244" -u root -p
发生以下错误:
ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL server
出现这种情况是因为mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。
解决方法:
1,远程计算机(ip:192.168.1.244)执行如下:
开启服务器:/etc/init.d/mysql.server start
登陆服务器:bin/mysql -u root -p
使用服务器:mysql> use mysql
创建远程登陆用户并授权 :
mysql> grant all PRIVILEGES on test.* to andy@'192.168.1.100' identified by '123456';
上面的语句表示将 test 数据库的所有权限授权给 andy 这个用户,允许 andy 用户在 192.168.1.100这个 IP 进行远程登陆,并设置 andy 用户的密码为 123456 。
下面逐一分析所有的参数:
all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。
test.* 表示上面的权限是针对于哪个表的,test 指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。
andy 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
192.168.1.100 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。
123456 为用户的密码。
执行了上面的语句后,再执行下面的语句,方可立即生效。
> flush privileges;
2,本地计算机(ip:192.168.1.100):
执行如下:./mysql -h 192.168.1.244 -u andy -p 123456
显示如下:
❸ 如何设置mysql允许远程访问局域网访问
第一步打开mysql客户端,输入连接密码,按回车键。
第二步输入“use mysql”,进去mysql数据库
第三步输入“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;”,创建一个允许远程访问的用户,用户名是root,密码是123456
第四步输入“flush privileges;”,进行更新权限,如下图所示:
5/5
第五步更新权限之后,就可以远程连接mysql数据库了
希望可以帮到您,感谢您的采纳。
❹ 如何让mysql以root用户远程登陆mysql数据库
php">开启MySQL的远程登陆帐号有两大步:
1、确定服务器上的防火墙没有阻止3306端口。
MySQL默认的端口是3306,需要确定防火墙没有阻止3306端口,否则远程是无法通过3306端口连接到MySQL的。
如果您在安装MySQL时指定了其他端口,请在防火墙中开启您指定的MySQL使用的端口号。
如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询。
2、增加允许远程连接MySQL用户并授权。
1)首先以root帐户登陆MySQL
在Windows主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL的bin目录下,然后输入下面的命令。
在Linux主机中在命令提示行下输入下面的命令。
>MySQL-uroot-p123456
123456为root用户的密码。
2)创建远程登陆用户并授权
>grantallPRIVILEGESondiscuz.*toted@'123.123.123.123'identifiedby'123456';
上面的语句表示将discuz数据库的所有权限授权给ted这个用户,允许ted用户在123.123.123.123这个IP进行远程登陆,并设置ted用户的密码为123456。
下面逐一分析所有的参数:
allPRIVILEGES表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,sqlserver/42947.htmtarget=_blank>delete,create,drop等,具体权限间用“,”半角逗号分隔。
discuz.*表示上面的权限是针对于哪个表的,discuz指的是数据库,后面的*
表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授
权为“数据库名.表名”。
ted表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
123.123.123.123表示允许远程连接的IP地址,如果想不限制链接的IP则设置为“%”即可。
123456为用户的密码。
执行了上面的语句后,再执行下面的语句,方可立即生效。
>flushprivileges;
远程登录mysql一些常用的代码段,大家可参考一下。
一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:
在本机先使用root用户登录mysql:
mysql-uroot-p"youpassword"
进行授权操作:
mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'youpassword'WITHGRANTOPTION;
重载授权表:
FLUSHPRIVILEGES;
退出mysql数据库:
exit
二、允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下:
在本机先使用root用户登录mysql:
mysql-uroot-p"youpassword"
进行授权操作:
GRANTALLPRIVILEGESON*.*TOroot@"172.16.16.152"IDENTIFIEDBY"youpassword"WITHGRANTOPTION;
重载授权表:
FLUSHPRIVILEGES;
退出mysql数据库:
exit
三、允许root用户在一个特定的IP进行远程登录,并具有所有库特定操作权限,具体操作如下:
在本机先使用root用户登录mysql:
mysql-uroot-p"youpassword"
进行授权操作:
GRANTselect,insert,update,deleteON*.*TOroot@"172.16.16.152"IDENTIFIEDBY"youpassword";
重载授权表:
FLUSHPRIVILEGES;
退出mysql数据库:
exit
四、删除用户授权,需要使用REVOKE命令,具体命令格式为:
REVOKEprivilegesON数据库[.表名]FROMuser-name;
具体实例,先在本机登录mysql:
mysql-uroot-p"youpassword"
进行授权操作:
GRANTselect,insert,update,deleteONTEST-DBTOtest-user@"172.16.16.152"IDENTIFIEDBY"youpassword";
再进行删除授权操作:
REVOKEallonTEST-DBfromtest-user;
****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。
最后从用户表内清除用户:
DELETEFROMuserWHEREuser="test-user";
重载授权表:
FLUSHPRIVILEGES;
退出mysql数据库:
exit
❺ 请问,linux下mysql创建用户,具有所有数据库所有表并且具有所有操作的权限,并且可远程登录操作
可以找个免费/开源的客户端来使用,例如HeidiSQL或者Navicat Lite,你搜一下就能找到。
安装后在里面设置好连接(主要是填一下服务器地址、用户名及帐号)就能可以使用了(服务器端可能也需要设置赋予权限,不然就会出现类似“ERROR 1045 (28000): Access denied for user 'test1'@'localhost”这样的错误,如出现错误则见参考资料)。
默认root用户就具有所有的权限,你可以新建一个用户,使它拥有所有的权限,还可以指定从什么地方登陆。权限划分可以很细的,可以精确到table,像select这种简单的查看功能命令都可以限定。具体命令像create,grant等等可以找本书看看。用户访问权限:
mysql.user 全局层级权限(global privileges)
db 数据库层级(database-specific privileges)
tables_priv 表层级(table-secific privileges)
columns_priv 列层级(column-secific privileges)
新建用户
create user 'test1'@'localhost/127.0.0.1' identified by '123',
->'test2'@'%' identified by '123';
语法: create user 'user'[@'host'] [identified by [password] 'password']
删除用户
drop user 'test1'@'localhost','test1'@'%','test2'@'localhost';
语法: drop user 'user'@'host'
撤销用户权限
revoke all on *.* from 'test'@'localhost';
更改用户名
rename user 'test'@'localhost' to 'test1'@'%';
用户授权
grant all privileges on *.*/dbname.*/dbname.tablename/ to 'test'@'localhost' identified by '123'
->required ssl with grant option;
grant select,update(field1,field2) on dbname.tablename to 'test1'@'%' identified by '123'
->required ssl with grant option;
搜索得到一位前辈的解决办法如下:
首先,在连接jdbc驱动的时候,按如下语句:
String connstr ="jdbc:mysql://localhost:3306/tp_db?&useUnicode=true&characterEncoding=8859_1";
然后,输入中文时转换时,按如下语句:
sql=new String(sql.getBytes("iso8859-1"));
最后,输出中文时转换,按如下语句:
String bookname=new String(rs.getString("bookname").getBytes("iso8859-1"),"GBK或者GB2312");
注:查看显示结果应在中文支持的环境下,我的配置为:Linux7.3+Tomcat4.0+Mysql3.22 作服务器端,IE6或Netscape作浏览器。
❻ 通过命令行如何远程访问mysql
1、登陆服务器端,进入命令行,windows cmd;
2、设置用户、密码让指定的IP访问:mysql -u root -p 或安装的快捷方式进入:MySQL Command Line Client,使用grant命令:
grant 权限1,权限2,权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';例子:mysqlgrant select,insert,update,delete,create,drop on mydb.mytable to [email protected] identified by 'mypassword';给来自192.168.1.88
的用户lzpddd分配可对数据库 mydb的mytable表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为'mypassword';
mysqlgrant all privileges on *.* to [email protected] identified by 'mypassword';给来自192.168.1.88
的用户lzpddd分配可对所有数据库的所有表进行所有操作的权限限,并设定口令为'mypassword';
mysqlgrant all privileges on *.* tolzpddd@'%'identified by 'mypassword';给来自任何IP地址的用户lzpddd分配可对所有数据库的所有表进行所有操作的权限限,并设定口令为'mypassword';
3、关闭服务器端防火墙或者开放3306端口(很重要);
4、客户端连接:
进入命令行,windows cmd,连接:
mysql -u 用户名 -p密码 -h服务器IP地址 -P服务器端MySQL端口号 -D 数据库名注意:(1)服务器端口标志-P一定要大些以区别于用户-p,如果直接连接数据库标志-D也要大写;
(2)如果要直接输入密码-p后面不能留有空格如-pmypassword;
(3)命令结束段没有';'分号。
❼ 用MysQL怎么进行远程连接数据库
1、首先在电脑端登陆数据服务器进行操作,如图所示。

❽ mysql创建用户,该用户可以远程访问
看你怎么添加的用户了,如果是grant all privileges abc@% .....
如果加上%的话,就是允许远程访问,如果是abc@localhost,只能在服务器上本地调用而不能通过远程进行字符连接或者phpmyadmin访问
❾ 怎么给mysql开启远程访问权限
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为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'192.168.1.3'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身份登录啦。
