怎么用update set 修改数据库update中的密码key,帐号是name,

用update set where之后数据库相应的字段变成了null.....求教大家,给个答案吧
[问题点数:40分]
用update set where之后数据库相应的字段变成了null.....求教大家,给个答案吧
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。微信公众号:centoscn
修改MySQL数据库中root用户的密码及访问权限
一:整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助!
方法1: 用SET PASSWORD命令
  mysql -u root
  mysql& SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
  mysqladmin -u root password &newpass&
  如果root已经设置过密码,采用如下方法
  mysqladmin -u root password oldpass &newpass&
方法3: 用UPDATE直接编辑user表
  mysql -u root
  mysql&
  mysql& UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
  mysql& FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
  mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql& UPDATE user SET password=PASSWORD(&new password&) WHERE user='root';
  mysql& FLUSH PRIVILEGES;
二:MySQL服务访问权限
mysql默认只能从本地连接,查看了/etc/f找到bind-address才发现配置的是127.0.0.1(bind-address=127.0.0.1),直接改为bind-address=192.168.0.xxx(本机ip),然后再查看3306端口打开了,ok,可以正常连接了。
所以除了给账户权限以外 还有修改 /etc/f 找到 bind-address = 127.0.0.1 修改为
bind-address = 0.0.0.0&
&&&&&&&重启mysql :&
&&&&&& sudo /etc/init.d/mysql restart
&&&&&&&否则会报 ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111)
环境:RHEL 5.3
安装了MySQL之后,MySQL的root用户默认是不开放远程访问权限的。为了开放它,只需要两步:
用Linux系统的root用户登录系统,然后:
(1)开放3306端口的远程连接权限:
在&-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited&这一行的上面(注意,一定是上面),添加如下一行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
然后重启iptables:
[root@localhost ~]# service iptables restart
(2)为MySQL的root用户添加远程访问权限:
[root@localhost ~]# mysql
mysql& grant all on *.* to&root@'%'&identified by 'your_password';&&&&&&&&&&&&&&&&
Query OK, 0 rows affected (0.01 sec)
mysql& exit
[root@localhost ~]# /etc/init.d/mysql restart
localhost是什么?localhost与127.0.0.1之间的关系
localhost&代表的是本地的意思&
一般来说 代表IP地址的话就是127.0.0.1&
也就是说 我 ping 127.0.0.1 == ping localhost
127.0.0.1是代表自己机器的回路地址,无论是否联网,自己机器都是127.0.0.1,127段是保留区段。
localhost与127.0.0.1的关系:
localhost可以看成主机名,127--可以看成主机ip,中间曾在一个主机名到ip地址的映射!&
如果你在mysql中连接数据库,要用localhost而不能用127.0.0.1。因为mysql中对于用户的登陆位置是有限定的,具体见mysql数据库(database名字就是mysql)里面的user表,里面存放的ip和存放的域名是不一样的,mysql进行匹配时不会自动将ip转换成域名的。你授权一个用户从这个ip访问,不等于授权他从这个余名访问。&
1、mysql -h 127.0.0.1 的时候,使用TCP/IP连接,&
&&&&& mysql server 认为该连接来自于127.0.0.1或者是&localhost.localdomain& 。
2、mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket;&
&&&& 此时,mysql server则认为该client是来自&localhost& 。
------分隔线----------------------------Mysql常用基本命令汇总及默认账户权限与修改
一直只是在浅显利用存储数据,也被惯坏了,很多命令使用的时候记不起来,so,换LINUX!不再使用GUI管理数据库!也想深入学习下Mysql,从权限管理开始!也就诞生了这篇学习笔记。
修改默认密码
Mysql新安装时默认root密码为空,极不安全!建议安装过后马上就修改。附修改方法:
admin -u root -p password
接下来按提示输入新密码即可!
命令详解:
mysqladmin -u root -p[oldpass] password newpass
注意oldpass可选,如果root默认密码为空,则不需要输入,如果需要更改前密码,请注意前密码与-p之间不要有空格,否则会报错,另外password和newpass之间以空格分隔。这当然是废话,给初学者看的!
登录进入数据库
这个很简单:
mysql -u root -p
你将会看到以下命令提示符,表明正确进入了&
可以输入help查看帮助信息。记得所有命令加上&;&这是语法规定。
命令解释:
mysql [-u username] [-h host] [-p[password]] [dbname]
如果不输入password,回车后会出现Enter password的提示。如果root密码为空,也不需要输入password,出现Enter password提示后回车即可。
【可以在登录时指定host名以及数据库名。这个host是你远程登陆别人数据库时对方的地址!】
附加一条链接给那些密码改了忘记的人: windows下mysql忘记root密码的解决办法
查看数据库
首先肯定是查看默认数据库了,使用命令:
+--------------------+
| Database
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
使用数据库
想使用某个数据库例如mysql这个数据库,使用use命令:
结果提示数据库改变了表示正确运行。
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
库表基本操作
查看库中的表
进入数据库了,接下来查看表,还是show命令:
以下为结果:
+---------------------------+
| Tables_in_mysql
+---------------------------+
| columns_priv
| general_log
| help_category
| help_keyword
| help_relation
| help_topic
| ndb_binlog_index
| procs_priv
| proxies_priv
| slow_log
| tables_priv
| time_zone
| time_zone_leap_second
| time_zone_name
| time_zone_transition
| time_zone_transition_type |
+---------------------------+
24 rows in set (0.00 sec)
好了,我们已经学会了一些简单的数据库操作,接下来我们开始创建自己的数据库,数据表!
创建数据库
简单命令:
Query OK, 1 row affected (0.00 sec)
提示已经成功。接下来我们用查看表命令,show:
+--------------------+
| Database
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
5 rows in set (0.00 sec)
好了,自己的数据库创建成功,先看看数据库里都有啥?答案肯定是什么都没有!我们查看一下:
Database changed
Empty set (0.00 sec)
So,接下来创建一个简单的表(注意我们上面已经使用了mydada数据库,接下来创建的表在这个数据库里,我们只能在数据库里创建表):
mysql& create table table_name(name VARCHAR(20), age int);
Query OK, 0 rows affected (0.02 sec)
+------------------+
| Tables_in_mydata |
+------------------+
| table_name
+------------------+
1 row in set (0.00 sec)
查看表的结构
成功之后,我们查看表的结构(使用describe):
mysql& describe table_
+-------+-------------+------+-----+---------+-------+
| Field | Type
| Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| varchar(20) | YES
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
插入数据到表
这时候表里面是没有数据的,插入数据(insert into):【说明:这里只是简单展示,更多详细命令请看官网文档(3000+页)】
mysql& insert into table_name values(&The_Third_Wave&, 100);
Query OK, 1 row affected (0.02 sec)
mysql& select * from table_
+----------------+------+
+----------------+------+
| The_Third_Wave |
+----------------+------+
1 row in set (0.00 sec)
更新表中数据
mysql& update table_name set age=188 where name=&The_Third_Wave&;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1
Changed: 1
Warnings: 0
mysql& select * from table_
+----------------+------+
+----------------+------+
| The_Third_Wave |
+----------------+------+
1 row in set (0.00 sec)
导入数据到表
【待补充】
清空表(delete)
mysql& delete from table_
Query OK, 1 row affected (0.00 sec)
mysql& select * from table_
Empty set (0.00 sec)
删除数据库或表(drop)
mysql& drop table table_
Query OK, 0 rows affected (0.00 sec)
Empty set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
+--------------------+
| Database
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
以下是安装后默认用户组:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql& select Host,User,P
+-----------------------------+------------------+-------------------------------------------+
| Password
+-----------------------------+------------------+-------------------------------------------+
| localhost
| *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| xxxxxxxxxxxxxxxxxxxxxxxxxxx | root
| 127.0.0.1
| localhost
| debian-sys-maint | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+-----------------------------+------------------+-------------------------------------------+
5 rows in set (0.00 sec)
这里面中间三个host对应的root账户密码为空。【备注:不同版本的Mysql不一样,有些都会同时设置密码,不会像上面一样。】
看来我们前面只设置了Host:localhost对应的root账号的密码,我们使用mysql& select current_user();查看下当前登录的用户名:
mysql& select current_user();
+----------------+
| current_user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
注意user_name@host_name 这个user_name是用户名称, host_name是你选择连接到服务器的客户机的地址。而你在使用mysql -h host_name 这个host_name说的是服务器地址(上面有说明,注意区别)。
也就是说:比如你有一个msyql数据库在
, 那你就mysql -u root -h
,这和你自己的机器一点关系都没有,你的登录账号还是 root@yourPCname
这个可能不好理解,举个例子并练习下创建用户操作。
创建新用户并指定某个IP可以建立连接
实际我的操作是在我的试验机上数据中创建远程访问用户账号(原因是:本机安全第一,我可不想单独还去设置下防火墙,而我的试验机没有防火墙!),目的是提供远程主机(我所用的电脑)访问本机(我的试验机)数据库的权限!【这句话有点绕】,因为默认账号是不可以非本机登录访问的,我用默认root账号连接到我的试验机会报以下错误:
mysql -u root -h 我的试验机IP地址 -p
Enter password:
ERROR ): Access denied for user 'root'@'这里是我的本机IP地址' (using password: YES)
这样可以理解上面那段话吧?
接下来学习下用户权限设置,以下内容参考的是:MYSQL数据库管理之权限管理----飞鸿无痕
命令详解如下:
GRANT命令使用说明
先来看一个例子,创建一个只允许从本地登录的超级用户feihong,并允许将权限赋予别的用户,密码为test@feihong.111
GRANT ALL PRIVILEGES ON *.* TO feihong@'localhost' IDENTIFIED BY'test@feihong.111' WITH GRANT OPTION;
GRANT命令说明:
ALL PRIVILEGES 是表示所有权限,你也可以使用select、update等权限提到的权限。
ON 用来指定权限针对哪些库和表。
*.* 中前面的*号用来指定数据库名,后面的*号用来指定表名。
TO 表示将权限赋予某个用户。
feihong@'localhost' 表示feihong用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。注意:这里%有的版本不包括本地,以前碰到过给某个用户设置了%允许任何地方登录,但是在本地登录不了,这个和版本有关系,遇到这个问题再加一个localhost的用户就可以了。
IDENTIFIED BY 指定用户的登录密码。
WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其他用户授权。
备注:可以使用GRANT重复给用户添加权限,权限叠加,比如你先给用户添加了一个select权限,然后又给用户添加了一个insert权限,那么该用户就同时拥有了select和insert权限。
以下都在我的是实验机上操作!
mysql& GRANT USAGE,SELECT ON *.* TO public@'我的本机IP地址' IDENTIFIED BY 'pbpass' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
在我的试验机使用以下命令可以查看用户表:
select Host,User,Password from mysql.
确定添加正确后我可以在本机远程登陆试验机啦&
以下在本机操作!
我们再次尝试远程连接我的试验机数据库,使用我们在试验机上添加的访问账号去连接!
&span style=&color:#000000;&&mysql -u public -h 我的试验机IP地址 -p
Enter password:
Welcome to the MySQL monitor.
Your MySQL connection id is 9
Server version: 5.6.15-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)
Copyright (c) ,
and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
Type '' or '\h' for help. Type '\c' to clear the current input statement.
mysql&&/span&
成功登陆我的实验室数据库,接下来的操作取决于你的权限,例如我创建的public账号只有访问权限,则这个账号就不能创建删除了!
我们查看下我的试验机有哪些用户:
+--------------------+
| Database
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
7 rows in set (0.00 sec)
mysql& select Host,User,Password from mysql.
+-----------------+--------+-------------------------------------------+
| Password
+-----------------+--------+-------------------------------------------+
| localhost
| *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| 127.0.0.1
| *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| 本机IP地址    | public | *A119B7FA902EEDF497 |
+-----------------+--------+-------------------------------------------+
5 rows in set (0.00 sec)
如果你也是pbpass这个密码,你会发现共同点。So,安全很重要,数据库用户权限很重要,这提醒我们,mysql这样的特殊表,不要给其他任何人看到!
安全为本,So,删除哪些不需要的用户吧,等以后需要再添加不迟!
注意删除用户不要使用DELETE直接删除,因为使用DELETE删除后用户的权限并未删除,新建同名用户后又会继承以前的权限。正确的做法是使用DROP USER命令删除用户!
drop user 'public'@我的本机IP地址;
Query OK, 0 rows affected (0.00 sec)
表示成功,可以再次查看。
更新用户密码
其他的用户要不设置密码,要不删除。怎么设置密码呢?
方法一:mysqladmin
开头已经说了一种方法,即使用以下命令:
mysqladmin -u root -p[oldpass] password newpass
方法二:使用表更新命令
mysql& UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root' and Host='127.0.0.1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1& Changed: 1& Warnings: 0
mysql& FLUSH PRIVILEGES;
需要注意一定要使用PASSWORD()函数!要不什么后果自己想。
方法三:set password
mysql& set password for 'root'@'::1'=PASSWORD('新密码');
Query OK, 0 rows affected (0.00 sec)
备注:更新完毕使用FLUSH PRIVILEGES;命令刷新权限,否则还是原来的密码!&
本文由@The_Third_Wave(Blog地址:http://blog.csdn.net/zhanh1218)原创。还有未涉及的,会不定期更新,有错误请指正。
如果你看到这篇博文时发现没有不完整,那是我为防止爬虫先发布一半的原因,请看原作者Blog。
如果这篇博文对您有帮助,为了好的网络环境,不建议转载,建议收藏!如果您一定要转载,请带上后缀和本文地址。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'修改Informatica下配置文件里面notemeta.xml里面数据库的连接密码_资讯_突袭网
当前位置&:&&&&修改Informatica下配置文件里面notemeta.xml里面数据库的连接密码
热门标签:&
修改Informatica下配置文件里面notemeta.xml里面数据库的连接密码
编辑:李秀媚评论:
要修改Informatica下配置文件里面notemeta.xml里面数据库的连接密码,从标签名字dbEncryptedPassword可以看出,密码是经过加密存放在配置文件里面的。使用命令:infasetup.sh UpdateGatewayNode -da [new database host]:[new database port]?-du [new database user] -dp [new database password -dt...
要修改Informatica下配置文件里面notemeta.xml里面数据库的连接密码,从标签名字dbEncryptedPassword可以看出,密码是经过加密存放在配置文件里面的。
使用命令:
infasetup.sh UpdateGatewayNode -da [new database host]:[new database port]?
-du [new database user] -dp [new database password -dt [database type i.e. db2] -ds [new database name]
(转载请注明出处和)PHP+MySQL数据库教程 列表
相关参考课程MySQL Update Set 更新数据UPDATE 更新
UPDATE SET 语法用于修改更新数据表中的数据。
UPDATE tb_name SET column1 = new_value1,column2 = new_value2,… WHERE definition
该语法将数据表中符合 WHERE 条件的记录中的 column1 的值更新为 new_value1,column2 的值更新为 new_value2 ,以此类推。如果省略 WHERE 条件,则会将表中所有记录的 column 值进行更新。
$conn = @mysql_connect(&localhost&,&root&,&root123&);
if (!$conn){
die(&连接数据库失败:& . mysql_error());
mysql_select_db(&test&, $conn);
mysql_query(&set names 'gbk'&);
$sql = &UPDATE user SET email = '' WHERE username = '小明'&;
if(mysql_query($sql,$conn)){
echo &更新数据成功!&;
echo &更新数据失败:&.mysql_error();
更新前数据:
b7e591c246d010bb2ccd77d52490c85e
ae4de85ee3f2ff0576adf01
e4de85ee3f2ff0567adf49
e10adc3949ba59abbe56e057f20f883e
例子将 user 表中 username 为 小明 的 email 修改为
更新后数据:
b7e591c246d010bb2ccd77d52490c85e
ae4de85ee3f2ff0576adf01
e4de85ee3f2ff0567adf49
e10adc3949ba59abbe56e057f20f883e
UPDATE 表达式
UPDATE 语法允许 SET 后面跟表达式。
UPDATE article SET pv = pv+1 WHERE id = 123
该例子让 id 为 123 的文章在被点击阅读的时候点击量加 1 。
UPDATE persondata SET age = age*2, age = age+1
该例子 SET 后面跟了两个表达式:age = age*2(年龄加倍),age = age+1(再加 1 )。这种多个表达式的情况,是按照从左往右顺序执行的。
<(我爱开发网) — 提供最好的 、、、 及

我要回帖

更多关于 update批量更新数据库 的文章

 

随机推荐