linuxmysql远程权限
A. 请问,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作浏览器。
B. 查看linux下mysql有没有远程访问权限
1、root用户登录到mysql数据库 代码示例: /usr/local/mysql/bin/mysql -u root -p (输入密码进入mysql) 2、进入mysql,输入: 代码示例: use mysql; 3、查看user表的情况 代码示例: SELECT Host,User FROM user; //指明主机名称,
C. linux中安装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。
mysql> USE MYSQL;mysql> UPDATE USER SET host = '%' WHERE user = 'root';
3、授权法:
mysql> USE MYSQL;mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问以及修改所有数据的权限 例如,你想root用户使用root从任何主机连接到mysql服务器的话。GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;如果你想允许用户root从ip为192.168.1.123的主机连接到mysql服务器,并使用root作为密码GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123'IDENTIFIED BY 'root' WITH GRANT OPTION;mysql> FLUSH PRIVILEGES //
D. 如何远程连接到linux服务器中的mysql数据库
需要你在服务器上关闭防火墙,或者允许mysql通过
下面是设置mysql允许远程连接的方法:
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO myuser@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
#################################
开启Mysql数据库的远程连接权限:
grant all privileges on *.* to 'root' @'%' identified by 'wrx123';
flush privileges;
E. Linux下mysql允许远程连接怎么设置
首先我们修改下配置文件(一般在/etc/mysql/my.cnf),将里面的bind-address = 127.0.0.1使用#给注释掉
这样就可以通过网络访问我们的mysql了,当然这并不是全部
port = 3306
这里我想不用说了,设置侦听端口,默认3306,想改的话只要将3306替换为其它就行
然后我们需要创建一个可以远程连接的用户以及给予相应权限
我们使用root登陆mysql
mysql -u root -p
grant all on *.* to ‘test’@’%’ identified by ‘1234’ with grant option;
all表示所有权限
*.*表示所有的数据库,如果只想给该用户操作某个指定的数据库的话比如test可以写成
grant all on test.* to ‘test’@’%’ identified by ‘1234’ with grant option;
‘test’@’%’ 是的test是可以通过远程登陆的用户名,%是个通配符,表示可以从任意地方登陆,但这里有个问题,我发现这么做了后本地localhost登陆的时候无法登陆,方法是建立一个同样的用户,将%改为localhost
1234是登陆密码,如果想不设置密码identified by ‘1234’可不写
with grant option 表示test用户可以将自己创建的数据库给予其它人权限
我们再更新下权限
flush privileges;
现在就可以通过远程来连接我们的数据库了
当然最后别忘了将防火墙设置成mysql绑定的端口可访问,不然是会被防火墙屏蔽的哦
F. 我把linux上mysql设置为可以通过root用户对所有的数据库进行远程访问,现在想把root用户的远程访问权限
update mysql.user set host='localhost' where user='root'
G. Linux 如何开启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' 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.user里root用户的host果然是localhost,先用改表法给localhost改成“%”,还是不行,仍然报1130的错 误,又按“从任何主机连接到mysql服务器”方法授权,还是报一样的错,最后给自己的ip授权之后,终于登录上了。。。。
H. 如何在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
I. linux下mysql允许外部远程访问配置
mysql远程访问我们在网上看到最多的就是直接给mysql数据库授权了,但有一些朋友发现按此教程还是无法连接mysql了,下文小编为各位详细介绍一篇在linux下mysql允许外部远程访问配置
设置mysql
的配置文件
/etc/mysql/my.cnf
找到
bind-address
=127.0.0.1
将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/mysql
restart;
进入mysql
数据库
mysql
-u
root
-p
mysql>grant
all
privileges
on
*.*
to
root@'%'
identifies
by
'
xxxx';
其中
第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样
*.*的话表示所有到数据库下到所有表都允许访问;
‘%’:表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx’为root
用户的password;
J. linux 修改mysql远程访问权限时候报错 怎么回事
使用授权法吧
1.grant all privileges on *.* to root@'%' identified by "root";
2.FLUSH PRIVILEGES;