【www.guakaob.com--体育高考】
mysql密码没设置篇一
《设置的mysql密码无效的问题》
设置的mysql密码无效的问题
给用户设置密码后,无密码时可以登录,使用密码则不能登录。
试着删除空用户,然后刷新权限表就可以了。
mysql>delete from mysql.user where user='';
mysql>flush privileges;
所以从安全角度考虑,论文代写 在Mysql安装好、启动后第一件事情就要设置密码, 和删除空账户(切记):
mysql>update mysql.user set password=password('yourpassword') where user='root'; mysql>delete from mysql.user where user='';
mysql>flush privileges;
mysql密码没设置篇二
《linux下设置mysql用户名及密码》
linux下设置mysql用户名及密码一、安装设置密码我安装的时候直接用的yum命令, yum install mysql mysql-server这样就导致默认没有密码访问然后我就添加了用户名和密码首先以root用户名登录,然后进入没有密码的mysql,然后use mysql----------> insert into user(host,user,password) values('%','root','root');###然后mysqladmin -u root password 'root' 则OK了 第二个root为mysql密码二、忘记密码1,通过service mysqld stop(或者 killall -TERM Mysql)停止mysql的服务2,/usr/bin/mysqld_safe --skip-grant-tables& 跳过安全检验机制(此时不要关闭当前终端,另开新的终端)3.(也可以进行一:设置密码)#mysql >use mysql;>update user set password=password('在这里写上要设置的新密码') where user='root';>flush privileges;>exit然后再登录mysql:#mysql -u root -p;Enter password: *输入你设置的密码*mysql>4.重启mysql服务--------------------------------------------------------------下面还有一种方法我没实验,下次出错了在实验方法二:可以进行如下的步骤重新设置MySQL的root密码: 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 2.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-name-resolve skip-grant-tables 保存并且退出vi。 3.重新启动mysqld # /etc/init.d/mysqld restart Stopping MySQL: [ OK ] Starting MySQL: [ OK ] 4.登录并修改MySQL的root密码 # /usr/bin/mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 3.23.56 Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. mysql> USE mysql ; 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> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ; Query OK, 0 rows affected (0.00 sec) Rows matched: 2 Changed: 0 Warnings: 0 mysql> flush privileges ; Query OK, 0 rows affected (0.01 sec) mysql> quit Bye 5.将MySQL的登录设置修改回来 # vi /etc/my.cnf 将刚才在[mysqld]的段中加上的skip-grant-tables删除 保存并且退出vi。 6.重新启动mysqld # /etc/init.d/mysqld
restart Stopping MySQL: [ OK ] Starting MySQL: [ OK ]-------------------------下面是转载的在mysql环境下,你可以使用以下语句进行设置密码:1. insert into user(host,user,password) values('%','user_name',password("your password");2. set password for user_name = password("your password")以上两种方法都必须进行重载授权表.3.当然你也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令.如grant all on *.* to user_name@% identified by "your password";另外你也可以在shell环境下用mysqladmin程序来设置密码如mysqladmin -u root password "your password"快点去试一下,没问题吧!
mysql密码没设置篇三
《MySql密码设置大全》
方法一 使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数。 方法二 使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。 把命令里的root改为你的用户名,你就可以改你自己的密码了。 当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin, 那么这种方法就是无效的。 而且mysqladmin无法把密码清空。 下面的方法都在mysql提示符下使用,且必须有mysql的root权限: 方法三 mysql> Insert INTO mysql.user (Host,User,Password) VALUES(’%',’jeffrey’,PASSWORD(’biscuit’)); mysql> FLUSH PRIVILEGES 确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。 在《mysql中文参考手册》里有这个例子,所以我也就写出来了。 注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。 方法四 和方法三一样,只是使用了REPLACE语句 mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES(’%',’jeffrey’,PASSWORD(’biscuit’)); mysql> FLUSH PRIVILEGES 方法五 使用SET PASSWORD语句, mysql> SET PASSWORD FOR jeffrey@”%” = PASSWORD(’biscuit’); 拟也必须使用PASSWORD()函数, 但是不需要使用FLUSH PRIVILEGES。 方法六 使用GRANT … IDENTIFIED BY语句 mysql> GRANT USAGE ON *.* TO jeffrey@”%” IDENTIFIED BY ‘biscuit’; 这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。 注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。 MySQL 忘记口令的解决办法 如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。 启动 MySQL :bin/safe_mysqld –skip-grant-tables & 就可以不需要密码就进入 MySQL 了。 然后就是 >use mysql >update user set password=password(”new_pass”) where user=”root”; >flush privileges; 重新杀 MySQL ,用正常方法启动 MySQL 。 mysql密码清空 Windows: 1.用系统管理员登陆系统。 2.停止MySQL的服务。 3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:mysql,进入C:mysqlbin 4.跳过权限检查启动MySQL, c:mysqlbin>mysqld-nt –skip-grant-tables 5.重新打开一个窗口,进入c:mysqlbin目录,设置root的新密码 c:mysqlbin>mysqladmin -u root flush-privileges password “newpassword” c:mysqlbin>mysqladmin -u root -p shutdown 将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。 6.停止MySQL Server,用正常模式启动Mysql 7.你可以用新的密码链接到Mysql了。 Unix&Linux: 1.用root或者运行mysqld的用户登录系统; 2.利用kill命令结束掉mys
qld的进程; 3.使用–skip-grant-tables参数启动MySQL Server shell>mysqld_safe –skip-grant-tables & 4.为root@localhost设置新密码 shell>mysqladmin -u root flush-privileges password “newpassword” 5.重启MySQL Server mysql修改密码 mysql修改,可在mysql命令行执行如下: mysql -u root mysql mysql> Update user SET password=PASSWORD(”new password”) Where user=’name’; mysql> FLUSH PRIVILEGES; mysql> QUIT 教你如何将MySQL数据库的密码恢复
mysql密码没设置篇四
《mysql免安装配置和修改密码》
客户服务器用的是windows server2003,偶在安装数据库的时候遇到了问题。网上说的是不要下载msi的。只能下载手动安装的。然后本人亲自下载了6.0.9、6.0.10、11、7.0.9、7.20等多个版本,当然优先考虑6.0这几个,但是没有安装成功。最后下载了免安装包mysql-noinstall-6.0.9-alpha-win32.zip,网上查看攻略。亲自走了遍。特此记录。1.下载 MySQL 6.0免安装版2.将 MySQL6.0 解压到待安装目录(自己决定放到哪)。解压后默认文件夹名称为:mysql-6.0.9-alpha-win32(当然可以自己更改),然后在环境变量中设置MYSQL_HOME(这样,以后可以用%MYSQL_HOME%引用安装目录)。如,我放在E盘根目录下,所以,MYSQL_HOME设置为:E:\mysql-6.0.9-alpha-win323.打开文件my-huge.ini另存为my.ini,在my.ini文件最后(当然也可以在其他地方)加入如下配置。(my.ini记得是保存在与my-huge.ini同一个目录下的)(#表示注释)[mysqld]# 设置mysql的安装目录basedir=E:\mysql-6.0.9-alpha-win32# 设置mysql数据库的数据的存放目录,必须是data,或者是[url=file://\\xxx-data]\\xxx-data[/url]datadir=E:\mysql-6.0.9-alpha-win32\data4.把%MYSQL_HOME%\bin 加入到 path环境变量中。5.在命令行(cmd)执行命令:mysqld -install 。将mysql安装为windows服务。(一定注意,执行此命令时一定要在安装目录下的\bin目录下执行。否则会出问题。)6.执行命令: net start mysql 或在windows管理工具->服务里找到MySQL服务,启动。7.在命令行中运行 mysql -uroot (可在任意目录下,因为前面设置了path变量)。即可进入数据库。这样操作后,mysql安装完成。然后进入修改密码的过程。实际操作如下: 1.关闭正在运行的MySQL。 2.打开DOS窗口,转到mysql\bin目录。 3.输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。 4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 5.输入mysql回车,如果成功,将出现MySQL提示符 > 6. 连接权限数据库>use mysql; (>是本来就有的提示符,别忘了最后的分号) 7.改密码:> update user set password=password("123456") where user="root"; 8.刷新权限(必须的步骤)>flush privileges; 9.退出 > \q 10.注销系统,再进入,开MySQL,使用用户名root和刚才设置的新密码123456登陆。
mysql密码没设置篇五
《清除或重设mysql密码方法》
清除或重设mysql密码
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: # mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法三:
这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢!!
# mysql -uroot -p
Enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>
mysql密码没设置篇六
《MySQL的密码设置》
MySQL的密码设置
排行榜 收藏 打印 发给朋友 举报 来源: 51CTO 发布者:网络转载
热度19票 浏览617次 【共0条评论】【我要评论】 时间:2008年12月31日 10:21
摘要:本文介绍了如何修改一个用户的密码,你可以使用三种方法,GRANT语句、SET PASSWORD语句、直接修改授权表以及使用管理工具mysqladmin。一个重要的应用就是如何在遗忘root用户密码的时候修改密码,使用的方法是启动MySQL服务器时忽略加载授权表。
由MySQL使用用户名和口令的方法与Unix或使用的方式有很多不同之处:
·MySQL使用于认证目的的用户名,与Unix用户名(登录名字)或Windows用户名无关。缺省地,大多数MySQL客户尝试使用当前 Unix用户名作为MySQL用户名登录,但是这仅仅为了方便。客户程序允许用-u或--user选项指定一个不同的名字,这意味着无论如何你不能使得一个数据库更安全,除非所有的MySQL用户名都有口令。任何人可以试图用任何名字连接服务器,而且如果他们指定了没有口令的任何名字,他们将成功。
·MySQL用户名最长可以是16各字符;典型地,Unix用户名限制为8个字符。 ·MySQL口令与Unix口令没关系。在你使用登录到一台Unix机器口令和你使用在那台机器上存取一个数据库的口令之间没有必要有关联。
·MySQL加密口令使用了一个Unix登录期间所用的不同算法。
本节将介绍如何为MySQL数据库系统的用户修改密码。
使用myadmin实用程序
使用mysqladmin实用程序修改密码的命令行是:
shell>mysqladmin -u user -p password "newpassword"
运行这个命令,在提示输入密码时,数据就密码,则用户user的密码就被改为newpassword
。如果,原来的用户没有密码,则不比指定-p选项。例如,初始化授权表之后,root用户的密码就是空的,你可以这样为root用户设立密码:
shell>mysqladmin -u root password "newpassword"
使用语句SET PASSWORD
使用mysqladmin为用户修改密码有一个明显的缺点,就是必须知道用户原来的密码,如果是为了给遗忘了密码的用户重设密码就无能为力了。一个专门用于修改密码的SQL语句为SET PASSWORD:
·SET PASSWORD = PASSWORD('some password')
设置当前用户的口令。任何非匿名的用户能改变他自己的口令!
连接到服务器后,你可以这样改变自己的密码:
mysql> SET PASSWORD = PASSWORD('another pass');
·SET PASSWORD FOR user = PASSWORD('some password')
设置当前服务器主机上的一个特定用户的口令。只有具备存取mysql数据库的用户可以这样做。用户应该以user@hostname格式给出,这里 user和hostname完全与他们列在mysql.user表条目的User和Host列一样。例如,如果你有一个条目其User和Host字段是 'bob'和'%.loc.gov',你将写成:
mysql> SET PASSWORD FOR bob@"%.loc.gov" =
PASSWORD("newpass");
直接修改授权表
另一种修改,密码的方法是直接修改授权表user。只有具备存取mysql数据库的用户可以这样做。
例如,如果你有一个条目其User和Host字段是'bob'和'%.loc.gov',你将写成:
重新设置一个遗忘的root口令
如果你遗忘了root用户的口令,那么将会是一件非常麻烦的事。除非你有其它有特权的用户,否则很多操作都无法完成,例如,关闭数据库等等。
你应当选用--without-grant-tables选项启动mysqld服务,你可以在这时更改授权表的相关内容,也可以用mysqlaccess检查你的授权是否到位。
例如,如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。
1、关闭MySQL服务器
向mysqld 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
kill `cat /mysql-data-directory/hostname.pid`
你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。
如果在windows平台上,也可以停止进程。如果是NT还可以用net stop mysql命令关闭数据库。
2、使用'--skip-grant-tables' 参数来启动 mysqld。
Unix平台:
$su mysql
$safe_mysqld --skip-grant-tables &
Windows平台:
C:\mysql\bin>mysqld --skip-grant-tables
以上语句,假定都位于正确的目录。
3、连接到服务器,修改口令
使用'mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令:
(如果存在一个能从任意地址登录的root用户,初始化授权表后,生成该用户,为了安全,你可能已经删除该用户)。
其实也可以直接修改授权表:
你可能使用工具mysqladmin修改密码:
shell> mysqladmin -h hostname -u root password 'new password
但是它修改的密码语服务器匹配的用户有关。如果,你从服务器主机连接,那么服务器匹配的是root@localhost,修改该用户密码,否则一般修改root@%密码,除非你有其它root用户存在。
4. 载入权限表:
shell> mysqladmin -h hostname flush-privileges
或者使用 SQL 命令`FLUSH PRIVILEGES'。
当然,在这里,你也可以重启mysqld。
mysql密码没设置篇七
《mysql5.5设置密码》
设置成功后再启动MySQL服务:
net start mysql
启动后:
c:\mysql5.5\bin\mysql
-u root -p
回车后会要求输入密码,这里密码为空,所以直接回车
回车后,如果命令行显示"mysql>",表示登录成功
输入下列命令修改root密码:
SET PASSWORD FOR 'root'@'localhost' =PASSWORD('新密码');
SET PASSWORD FOR'root'@'127.0.0.1' = PASSWORD('新密码');
SET PASSWORD FOR'root'@'::1' = PASSWORD('新密码');
SET PASSWORD FOR 'root'@'%' =PASSWORD('新密码');
新手在这个上往往容易范错误,导致不能进入MYSQL。
我来做几个例子相信很快就明白了 。
1、原来的密码是123456
C:\>type mysql5.bat
@echo off
mysql -uroot -p123456 -P3306
正确的修改MYSQL用户密码的格式是:
我们这里用
用户:root(可以换成其他的)
密码:woshiduide
来演示新密码。
C:\>mysqladmin -uroot -p password woshiduide
Enter password: ******
于是修改成功。
注意PASSWORD关键字后面的空格
有好多人是这样修改的:
C:\>mysqladmin -uroot -p password 'woshiduide'
Enter password: ******
C:\>mysqladmin -uroot -p password 'woshiduide'
Enter password: *********
Warning: single quotes were not trimmed from the password by your command
line client, as you might have expected.
而这个时候真正的密码是'woshiduide'
C:\>mysql -uroot -p'woshiduide'
Welcome to the MySQL monitor. Commands end with ; or \g.
Server version: 5.1.17-beta-community-nt-debug MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
而新手往往这样:
C:\>mysql -uroot -pwoshiduide
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Y
ES)
所以非常郁闷,BAIDU、GOOGLE的搜了一大堆。
我现在把密码改回去。
C:\>mysqladmin -uroot -p'woshiduide' password 123456
2、还有就是可以直接进入MYSQL,然后修改密码。
mysql> use mysql
Database changed
mysql> update user set PASSWORD = PASSWORD('woshiduide') where USER='root' and H
OST='localhost';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
mysql> exit
Bye
C:\>mysql -uroot -pwoshiduide
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 5.1.17-beta-community-nt-debug MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Query OK, 0 rows affected (0.02 sec)
3、还有一种就是用SET PASSWORD 命令修改:
C:\>mysql5.bat
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Server version: 5.1.17-beta-community-nt-debug-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> set password for root@'localhost' = password('woshiduide');
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.09 sec)
mysql> exit
Bye
(3) root密码遗忘以后的重新设置
I.Windows
关掉MySQL的服务
net stop mysql
(如果是解压版本,则应关闭所有mysql进程)
使用以下命令,以不检查权限的方式启动mysql
mysqld-nt --skip-grant-tables
另外新打开一个cmd窗口,使用如下命令登录mysql
mysql -u root mysql
修改root用户密码:
mysql>UPDATE user SET password=PASSWORD("newpassword") WHERE user='root';
重新加载表权限
mysql>FLUSH PRIVILEGES;
授权:
mysql密码没设置篇八
《MYSQL修改设置root密码的命令及方法》
准备工作:在使用mysql相关工具或mysql命令来修改root密码之前请确保你已启动mysql服务,如果没有启动mysql服务,请在DOS模式下输入net start mysql 即可。Mysql修改root密码命令说明除了使用phpmyadmin、mysql服务配置工具来修改root密码之外,使用mysql修改密码命令也可以更改root的密码。进入mysql'数据库命令行方式有两种方式:方法一:在mysql开始菜单里包含mysql命令行客户端,只要点击输入root的密码即可进入。方法二:在DOS模式下(CMD模式)定位到mysql安装目录下在子目录bin,调用mysql.exe进入,即C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -p Enter password:******使用mysqladmin.exe命令来修改mysql的root密码一般mysql的root默认密码为空,如果你之前并没有设置过root密码就使用mysqladmin命令,你可以使用如下mysqladmin命令来修改root密码C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin -u root -p password 123456Enter password:C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -p123456如上所述使用mysqladmin第一次修改root的默认密码时,Enter password 回车即可,然后使用mysql.exe命令输入root及其密码即可进入mysql命令行。如果已设置了mysql的root密码,现在需要修改并进入mysql命令行模式,则输入C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin -u root -p123456 password helloC:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -u root -phello即可,现在密码已经修改为hello。知识点:这里使用了到了mysql自带的两种命令mysqladmin.exe和mysql.exe,mysqladmin修改密码的命令格式如下:mysqladmin -u root -p[oldPass] password newPass注意oldPass(老密码)可选,如果root默认密码为空,则不需要输入,如果需要更改老密码,请注意老密码与-p之间不要有空格,否则会报错,另外password和newPass(新密码)之间以空格分隔。Mysql命令与mysqladmin命令格式大同小异,主要用来输入正确的用户名和密码后进入mysql命令行模式,格式如下:mysl -u root -p[password]如果不输入password,回车后会出现Enter password的提示,如果root密码为空,也不需要输入password,出现Enter password提示后回车即可。使用update命令来修改mysql的root密码使用mysql update命令既可以修改root的老密码,也可以设置root的密码为空,如果使用update命令更改root的密码,需要使用mysql自带的加密函数PASSWORD(String),该函数对一个明文密码进行加密,是不能解密的,专门用于mysql.user(用户权限表)中设置密码的。使用update命令修改root密码的方法如下:mysql>user mysqlDatabase changedMysql>update user set password=PASSWORD('123456') where user=''root;Query OK.0 r
ows affected(0.00 sec)Roes matched:1 Changed:0 warnings:0Mysql>flush privileges;Query OK,0 rows affected (0.00 sec)注意在使用update后,需要进一步输入flush privileges;语句,否则修改密码命令操作不会生效,如果需要设置mysql的root密码为空,则不需要使用PASSWORD函数,直接update user set password='' where user=''root; 即可,其他的一样。使用set password命令修改mysql的root密码Mysql>user mysqlDatabase changedMysql>set password for 'root'@'localhost'=PASSWORD('hello');使用set password命令时也需要使用PASSWORD函数,但不需要flush privileges;即可修改密码的命令操作生效。使用set password命令修改root密码时请务必操作谨慎,容易出错导致无法登陆,至此,常用的mysql修改root密码的方法和命令介绍完了,应该讲mysql的root密码是非常重要的,如果忘了root密码或被盗用,会产生严重的后果,建议最好重命名root用户,或者在user(用户权限表)中新建一个其他的用户,赋予常用的最低权限配置,以保证网络的安全性,也方便今后重置或者更改root密码。
mysql密码没设置篇九
《修改mysql密码的方法》
修改mysql密码的方法use mysql update user set Password=password('newpassword') where User='root'; flush privileges; 1.通过修改MYSQL数据库中MYSQL库的USER表就用普通的UPDATE、INSERT语句就可以2.在命令行中使用如下命令MYSQLADMIN -u root -p PASSWORD mypasswd 3.可以修改MYSQL文件夹中的MY.INI文件4.使用SET PASSWORD语句, mysql> SET PASSWORD FOR myuser@localhost = PASSWORD('mypasswd'); 5.使用GRANT ... IDENTIFIED BY语句 mysql> GRANT USAGE ON *.* TO myuser@localhost IDENTIFIED BY 'mypassword'; ----------------------------------------------------------MySQL中修改密码及访问限制设置详解MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。由于其源码的开放性及稳定性,且与网站流行编?语言PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用。处于安全方面的考虑,需要为每一用户赋于对不同数据库的访问限制,以满足不同用户的要求。下面就分别讨论,供大家参考。一、MySQL修改密码方法总结首先要说明一点的是:一般情况下,修改MySQL密码是需要有mysql里的root权限的,这样一般用户是无法更改密码的,除非请求管理员帮助修改。方法一使用phpMyAdmin (图形化管理MySql数据库的工具),这是最简单的,直接用SQL语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数,插入用户用Insert命令,修改用户用Update命令,删除用Delete命令。在本节后面有数据表user字段的详细介绍。方法二使用mysqladmin。输入mysqladmin -u root -p oldpassword newpasswd执行这个命令后,需要输入root的原密码,这样root的密码将改为newpasswd。同样,把命令里的root改为你的用户名,你就可以改你自己的密码了。 当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。下面的方法都在mysql提示符下使用,且必须有mysql的root权限:方法三mysql> INSERT INTO mysql.user (Host,User,Password) VALUES (\'%\',\'system\', PASSWORD(\'manager\'));mysql> FLUSH PRIVILEGES确切地说这是在增加一个用户,用户名为system,密码为manager。注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES来执行确认。方法四和方法三一样,只是使用了REPLACE语句mysql> REPLACE INTO mysql.user (Host,User,Password)VALUES(\'%\',\'system\',PASSWORD(\'manager\'));mysql> FLUSH PRIVILEGES方法五使用SET PASSWORD语句mysql> SET PASSWORD FOR system@\"%\" = PASSWORD(\'manager\');你也必须使用PASSWORD()函数
,但是不需要使用FLUSH PRIVILEGES来执行确认。方法六使用GRANT ... IDENTIFIED BY语句,来进行授权。mysql> GRANT USAGE ON *.* TO system@\"%\" IDENTIFIED BY \'manager\';这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES来执行确认。注:PASSWORD()函数作用是为口令字加密,在程序中MySql自动解释。二、MySql中访问限制的设置方法我们采用两种方法来设置用户。进入到Mysql执行目录下(通常是c:\\mysql\\bin)。输入mysqld-shareware.exe,输入mysql --user=root mysql ,不然不能添加新用户。进入到mysql>提示符下进行操作。假设我们要建立一个超级用户,用户名为system,用户口令为manager。方法一用Grant 命令授权,输入的代码如下:mysql>GRANT ALL PRIVILEGES ON *.* TO system@localhost IDENTIFIED BY \'manager\' WITH GRANT OPTION;应显示:Query OK, 0 rows affected (0.38 sec)方法二对用户的每一项权限进行设置:mysql>INSERT INTO user VALUES(\'localhost\',\'system\',PASSWORD(\'manager\'), \'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\');对于3.22.34版本的MySQL,这里共14个\"Y\",其相应的权限如下(按字段顺序排列): 权限 表列名称 相应解释 使用范围 select Select_priv 只有在真正从一个表中检索时才需要select权限 表 insert Insert_priv 允许您把新行插入到一个存在的表中 表 update Update_priv 允许你用新值更新现存表中行的列 表 delete Delete_priv 允许你删除满足条件的行 表 create Create_priv 允许你创建新的数据库和表 数据库、表或索引 drop Drop_priv 抛弃(删除)现存的数据库和表 数据库或表 reload Reload_priv 允许您告诉服务器再读入授权表 服务器管理 shutdown Shutdown_priv 可能被滥用(通过终止服务器拒绝为其他用户服务) 服务器管理 process Process_priv 允许您察看当前执行的查询的普通文本,包括设定或改变口令查询 服务器管理 file File_priv 权限可以被滥用在服务器上读取任何可读的文件到数据库表 服务器上的文件存取 grant Grant_priv 允许你把你自己拥有的那些权限授给其他的用户 数据库或表 references References_priv 允许你打开和关闭记录文件 数据库或表 index Index_priv 允许你创建或抛弃(删除)索引 表 alter Alter_priv 允许您改变表格,可以用于通过重新命名表来推翻权限系统 表 如果创建用户时只有select、insert、update和delete权限,则允许用户只能在一个数据库现有的表上实施操作.下面就可以创建我们要用到的数据库了,我们直接输入. 例如:我们要创建数据库名为XinXiKu,可用如下代码:mysql>create database XinXiKu;应显示:Query OK, 1 row affected (0.00 sec)-----------------------------------------
------------更改MySQL数据库root密码的具体方法第一种︰使用 set password语法 shell> mysql -u root mysql mysql> SET PASSWORD FOR root=PASSWORD(’new_password’); 第二种︰使用 mysqladmin命令 shell>mysqladmin -u root password new_password 如果忘记了MySQL的root密码,可以用以下方法重新设置: ◆1. KILL掉系统里的MySQLD进程; killall -TREM mysqld ◆2. 用以下命令启动MySQL,以不检查权限的方式启动; mysqld_safe -skip-grant-tables & ◆3. 然后用空密码方式使用root用户登录 MySQL; mysql -u root ◆4. 修改root用户的密码; mysql> update mysql.user set password=PASSWORD(’新密码’) where User=’root’; mysql> flush privileges; mysql> quit ◆5. 重新启动MySQL,就可以使用新密码登录了------------------------------------------------------MySQL修改root密码方法种种 今天在架设mysql数据库时不小心键入了密码,但却不是想要的那个,在多方求助的情况下,得到如下方法:方法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> use 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密码》
如何重置Mysql密码
又忘记各类密码,而mysql密码做为一个不常用的东西,更是容易被遗忘,所以我们在这整理一下重设mysql密码的方法。通过下面几个步骤,可以很轻松的重新设置一个您知道的mysql密码: 1,停止MYSQL服务,CMD打开DOS窗口,输入 net stop mysql 2,在CMD命令行窗口,进入MYSQL安装目录比如E:\Program Files\MySQL\MySQL Server 5.0\bin 示范命令:
输入 e:回车, 输入cd "E:\Program Files\MySQL\MySQL Server 5.0\bin" 注意双引号也要输入,这样就可以进入Mysql安装目录了.
3,进入mysql安全模式,即当mysql起来后,不用输入密码就能进入数据库。 命令为:mysqld-nt --skip-grant-tables
4,重新打开一个CMD命令行窗口,输入mysql -uroot -p,使用空密码的方式登录MySQL(不用输入密码,直接按回车) 5,输入以下命令开始修改root用户的密码(注意:命令中mysql.user中间有个“点”)
update mysql.user set password=PASSWORD('新密码') where User='root';
6,刷新权限表 mysql> flush privileges;
7,退出 mysql> quit
这样MYSQL超级管理员账号 ROOT已经重新设置好了,接下来在任务管理器里结束掉 mysql-nt.exe 这个进程,重新启动MYSQL即可!(也可以直接重新启动服务器)
MYSQL重新启动后,就可以用新设置的ROOT密码登陆MYSQL了。
关于MYSQL密码的修改请参考