- 浏览: 69319 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
文章分类
最新评论
-
guoapeng:
很有同感,我现在正处于人生的十字路口。
自己还是很想做技术,总 ...
程序人生的十字路口 -
xxy_aldrich:
下面我们来修改密码:
登录:如果在my ...
由于mysql对用户严格的授权机制让大家碰到了很多连接不上的问题,我这里的一点总结希望能够帮一点小忙: -
zhouzhichu:
实在谢谢你
主题: Weblogic9.详细配置 -
wxbxjxl:
本文档的叙述非常详细,总体上是比较满意该文献的。但有一点没有写 ...
主题: Weblogic9.详细配置 -
activemq:
是,你写的码??我一样的感想,。。
程序人生的十字路口
由于mysql对用户严格的授权机制让大家碰到了很多连接不上的问题,我这里的一点总结希望能够帮一点小忙:
mysql的用户连接授权是基于user+host+password的,也就是说每一个被授权的user在初始数据表mysql.user中都有记录
刚安装好的mysql初始的用户user和主机host有(null表示为空)
3.x版本:--user-----host-----password-----
root localhost null
null localhost null
root gcw null
null gcw null
4.x版本:--user-----host-----password-----
root localhost null
null localhost null
root gcw null
null gcw null
5.x版本:--user-----host-----password-----
root localhost null
null localhost null
root build null
null build null
很容易看到初始密码都是空的,很危险!!!
下面我们来修改密码:
登录:如果在mysql server的本机连接,请不要用 mysql -h本机名或者ip -u root 登录,因为你的计算机名或者ip不在初始授权组里面的host表里面,这就是为什么很多人都很无辜的说为什么自己登录不上去,除非你的计算机名就是localhost。很不幸,大多数不是,所以access denied。用这个登录: c:\mysql\bin\mysql -uroot 回车,ok了吧?现在你拥有了对整个数据库的完全操作权利。现在我们做初始工作:
---------初始化时更改口令---------
第一种方法:
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD( 'new_password ') WHERE user= 'root ';
mysql> FLUSH PRIVILEGES;
在3.22以上的版本还可以用set password 语句:set password for root=password( 'new_password ');
第二种方法:
shell> mysql -u root password new_password
注意:如果你使用第一种方法在user表里直接更新口令,你必须告诉服务器再次读入授权表(用FLUSH PRIVILEGES),因为否则改变将不被注意到。
--------增加新用户权限:-----------
你可以有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。
//GRANT语句增加新用户:
mysql> grant all privileges on *.* to new_user@new_host identified by 'new_password ' with grant option;
详细描述增加:
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY 'something ' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@ "% "
IDENTIFIED BY 'something ' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;
这些GRANT语句安装3个新用户:
monty
可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令( 'something '做这个。注意,我们必须对monty@localhost和monty@ "% "发出GRANT语句。如果我们增加localhost条目,对localhost的匿名用户条目在我们从本地主机连接接时由mysql_install_db创建的条目将优先考虑,因为它有更特定的Host字段值,所以以user表排列顺序看更早到来。
admin
可以从localhost没有一个口令进行连接并且被授予reload和process管理权限的用户。这允许用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,还有mysqladmin processlist。没有授予数据库有关的权限。他们能在以后通过发出另一个GRANT语句授权。
dummy
可以不用一个口令连接的一个用户,但是只能从本地主机。全局权限被设置为 'N '--USAGE权限类型允许你无需权限就可设置一个用户。它假定你将在以后授予数据库相关的权限。
//insert语句增加新用户(不推荐):
mysql> INSERT INTO user VALUES( 'localhost ', 'monty ',PASSWORD( 'something '),
'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ')
mysql> INSERT INTO user VALUES( '% ', 'monty ',PASSWORD( 'something '),
'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ')
mysql> INSERT INTO user SET Host= 'localhost ',User= 'admin ',
Reload_priv= 'Y ', Process_priv= 'Y ';
mysql> INSERT INTO user (Host,User,Password)
VALUES( 'localhost ', 'dummy ', ' ');
mysql> FLUSH PRIVILEGES;
取决于你的MySQL版本,对上述,你可能必须使用一个不同数目 'Y '值
问题点数:20 回复次数:3
mysql的用户连接授权是基于user+host+password的,也就是说每一个被授权的user在初始数据表mysql.user中都有记录
刚安装好的mysql初始的用户user和主机host有(null表示为空)
3.x版本:--user-----host-----password-----
root localhost null
null localhost null
root gcw null
null gcw null
4.x版本:--user-----host-----password-----
root localhost null
null localhost null
root gcw null
null gcw null
5.x版本:--user-----host-----password-----
root localhost null
null localhost null
root build null
null build null
很容易看到初始密码都是空的,很危险!!!
下面我们来修改密码:
登录:如果在mysql server的本机连接,请不要用 mysql -h本机名或者ip -u root 登录,因为你的计算机名或者ip不在初始授权组里面的host表里面,这就是为什么很多人都很无辜的说为什么自己登录不上去,除非你的计算机名就是localhost。很不幸,大多数不是,所以access denied。用这个登录: c:\mysql\bin\mysql -uroot 回车,ok了吧?现在你拥有了对整个数据库的完全操作权利。现在我们做初始工作:
---------初始化时更改口令---------
第一种方法:
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD( 'new_password ') WHERE user= 'root ';
mysql> FLUSH PRIVILEGES;
在3.22以上的版本还可以用set password 语句:set password for root=password( 'new_password ');
第二种方法:
shell> mysql -u root password new_password
注意:如果你使用第一种方法在user表里直接更新口令,你必须告诉服务器再次读入授权表(用FLUSH PRIVILEGES),因为否则改变将不被注意到。
--------增加新用户权限:-----------
你可以有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。
//GRANT语句增加新用户:
mysql> grant all privileges on *.* to new_user@new_host identified by 'new_password ' with grant option;
详细描述增加:
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY 'something ' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@ "% "
IDENTIFIED BY 'something ' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;
这些GRANT语句安装3个新用户:
monty
可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令( 'something '做这个。注意,我们必须对monty@localhost和monty@ "% "发出GRANT语句。如果我们增加localhost条目,对localhost的匿名用户条目在我们从本地主机连接接时由mysql_install_db创建的条目将优先考虑,因为它有更特定的Host字段值,所以以user表排列顺序看更早到来。
admin
可以从localhost没有一个口令进行连接并且被授予reload和process管理权限的用户。这允许用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,还有mysqladmin processlist。没有授予数据库有关的权限。他们能在以后通过发出另一个GRANT语句授权。
dummy
可以不用一个口令连接的一个用户,但是只能从本地主机。全局权限被设置为 'N '--USAGE权限类型允许你无需权限就可设置一个用户。它假定你将在以后授予数据库相关的权限。
//insert语句增加新用户(不推荐):
mysql> INSERT INTO user VALUES( 'localhost ', 'monty ',PASSWORD( 'something '),
'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ')
mysql> INSERT INTO user VALUES( '% ', 'monty ',PASSWORD( 'something '),
'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ', 'Y ')
mysql> INSERT INTO user SET Host= 'localhost ',User= 'admin ',
Reload_priv= 'Y ', Process_priv= 'Y ';
mysql> INSERT INTO user (Host,User,Password)
VALUES( 'localhost ', 'dummy ', ' ');
mysql> FLUSH PRIVILEGES;
取决于你的MySQL版本,对上述,你可能必须使用一个不同数目 'Y '值
问题点数:20 回复次数:3
评论
1 楼
xxy_aldrich
2009-11-26
下面我们来修改密码:
登录:如果在mysql server的本机连接,请不要用 mysql -h本机名或者ip -u root 登录,因为你的计算机名或者ip不在初始授权组里面的host表里面,这就是为什么很多人都很无辜的说为什么自己登录不上去,除非你的计算机名就是localhost。很不幸,大多数不是,所以access denied
有个疑问,我的主机名是taijisoft,mysql里的host有localhost跟build,用户名跟密码都是root,我用mysql -h localhost -u root -p root 时是可以登录的,但是用mysql -h build -u root -p root是不能登录的,报找不到这个host,想知道这个host到底是指什么?
登录:如果在mysql server的本机连接,请不要用 mysql -h本机名或者ip -u root 登录,因为你的计算机名或者ip不在初始授权组里面的host表里面,这就是为什么很多人都很无辜的说为什么自己登录不上去,除非你的计算机名就是localhost。很不幸,大多数不是,所以access denied
有个疑问,我的主机名是taijisoft,mysql里的host有localhost跟build,用户名跟密码都是root,我用mysql -h localhost -u root -p root 时是可以登录的,但是用mysql -h build -u root -p root是不能登录的,报找不到这个host,想知道这个host到底是指什么?
发表评论
-
mysql数据库名和表名的大小写敏感性问题
2007-12-05 17:22 3924mysql数据库名和表名的大小写敏感性问题 在 MySQL ... -
作者:不详 文章来源:http://www.javathinker.org/bbs/topic.jsp?db=1
2007-12-04 21:12 1850作者:不详 文章来源:http://www.javat ... -
linux 测试程序..
2007-12-04 18:11 1497# SQL Manager 2005 for MySQL 3. ... -
linux 下mysql起动的全过程
2007-12-04 14:14 4171linux 下mysql起动的全过程 CSDN Blog ... -
MySQL安装与配置-2005-07-19
2007-12-04 13:51 1232[原创] [原创]MySQL安装与配置-2005-07-19 ... -
mysql for linux
2007-12-04 13:44 1297Linux 下安装和配置 MySQL 现在有很多网站使用 L ... -
other
2007-12-03 11:46 1184网上关于linux下配置java开发环境的文章很多,但大 ... -
linux
2007-12-01 19:57 794Linux上JDK的安装 选择自 ljcao 的 Bl ... -
每日一贴..
2007-12-01 10:15 955前几天,有些问题,发 ... -
eclipse aptana
2007-11-21 14:00 1038http://dev.csdn.net/article/ ... -
ruby language
2007-09-27 21:36 956[eiffel 翻译]Matz 关于技术的对话 注: Matz ... -
我们在开发的时候是兵马未动、粮草先行还是摸着石子过河
2007-09-14 14:24 1254兵马未动、粮草先行当然意味着我们在开发的时候先不忙着编写代码做 ... -
我国软件工程发展的现状
2007-09-14 14:15 1885很多国内搞计算机的专 ... -
关于协作与个人英雄主义
2007-09-14 13:52 1143社会进步的一个很明显的现象就是社会分工越来越细,软件的开发也不 ... -
程序员的职业道德
2007-09-14 13:25 1021程序员的职业道德
相关推荐
授权法,介绍远程用户连接mysql数据库,给任意远程主机授权访问mysql server的权限。
我们现在一般网站都是利用的MySQL数据库搭建网站的,但是在网上看到很多网友吐槽数据库连接不上的问题,现在我就结合相关资料向提出一些我个人的见解,希望对大家解决问题有帮助。 一般MySQL连接不上,可能有两大...
前段时间MySQL5.X启动不了服务,网上查了很多方法也为解决,最后升级成8.X系列软件。使用spring data jpa 框架进行连接出现了很多问题,现对相关问题进行总结梳理
说明:当别的机子(IP )通过客户端的方式在没有授权的情况下是无法连接 MySQL 数据库的,如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和 具体用户 进行 授权 。一般 root 用户不会提供给开发者。如:...
C#通过MySql.Data.dll连接MySql数据库 在项目中引用组件:MySql.Data.dll (记得复制到本地中选择为true / 或直接把MySql.Data.dll复制到debug文件夹下) 在代码中 using MySql.Data.MySqlClient; ......接下来这里...
MySQL连接工具 绿色版的 很简单的操作MySQL数据库
mysql连接时必须的,。。大家下吧,mysql连接时必须的,。。大家下吧
C#多线程连接mysql,Access并且比较两者的性能 vs2008 Cs3.5
mysql-connector-java-5.1.30.jar 和mysql-connector-java-8.0.19.jar
是MT4客户端连接MYSQL的例子,经测试可用
Android实现连接MySQL数据库的详细代码,对应的连接详操作文档在https://blog.csdn.net/hongfei568718926/article/details/102533832
同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。 也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会...
使用JDeveloper连接Oracle数据库操作过程简单。能不能连接其它数据库库?这里用连接MySQL数据库给出了一个操作示例。希望能对像我一样的初学者有用。
使用Excel中的VBA连接MySQL数据库,并进行增删查找等基本操作!很详细的资料,希望能够帮助大家。
介绍了在linux如何使用Informatica PowerCentor设置到MySQL的连接,本文分别提出MySQL企业版本及社区的连接方案
众所周知在默认情况下,我们安在阿里云上的mysql是不支持远程连接的,但是我们还需要通过一些工具来连接mysql,如navicat,这时就需要我们来修改mysql的远程连接了。 注意一点:当我们修改完mysql权限相关的操作后...
2010-02-04 00:23:51 来源:自学网 浏览:1019 次 内容提要: 内容提要 : 有很多朋友虽然安装好了 mysql 但却不知如何使用它这篇文章中我就从连接 mysql 修改密码、增加用户等方面来学习一些 mysql 常用命令。...
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。 SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及...
Gridview连接mysql以及分页显示
不过也有很大的缺点,比如说操作数据库和数据表不方便,要在类似于控制台的操作界面进行操作数据库。也就是基于这个原因,便想在项目里把数据库的创建,数据表的创建和对数据库的连接都放在程序里实现。方便用户的...