重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
最近一直在使用xampp上集成的mysql来开发php,但是没有命令行和配置器,不习惯于是卸载了安装了一个5.1.36的版本可使每次安装都显示密码已经存在要我输入密码才能进入郁闷了半天,重新安装和卸载了好几次,注册表的安装文件夹也都删了还不行最后终于发现问题所在了,原来是mysql安装时自带的data数据库在作怪,而且5.1.36的版本data与mysql并不在同一个文件夹下注意Data Folder所指的目录,卸载mysql以后,把这个目录位置的文件再删除就能解决了。重新安装就不会有密码存在的问题了。=
十载的贵港网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整贵港建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“贵港网站设计”,“贵港网站推广”以来,每个客户项目都认真落实执行。
mysql
5.1.73版本也很低了..不知道你的java-5.1.22支持不...去官网查下...
另外密码的话..你查一下mysql.user这个表..看下你的用户是不是有多个???
有可能你设置的密码是localhost...
查下就知道了..
select
user,host,password
from
mysql.user;
进入mysql数据库命令行方式有两种方式:
方式一:在mysql开始菜单里包含mysql命令行客户端,只要点击输入root的密码即可进入。
方式二:在dos模式下(cmd模式)定位到mysql安装目录下在子目录bin,调用mysql.exe进入,即
========================以下是命令===================================
c:\program
files\mysql\mysql
server
5.1\binmysql
-u
root
enter
password:
******
========================以上是命令===================================
7
使用mysqladmin.exe命令来修改mysql的root密码
一般mysql的root默认密码为空,如果你之前并没有设置过root密码就使用mysqladmin命令,你可以使用如下mysqladmin命令来修改root密码
========================以下是命令===================================
c:\program
files\mysql\mysql
server
5.1\binmysqladmin
-u
root
-p
password
123456
enter
password
c:\program
files\mysql\mysql
server
5.1\binmysql
-u
root
-p123456
========================以上是命令===================================
8
如上所述使用mysqladmin第一次修改root的默认密码时,enter
password回车即可,然后使用mysql.exe命令输入root及其密码即可进入mysql命令行。
如果已设置了mysql的root密码,现在需要修改并进入mysql命令行模式,则输入
========================以下是命令===================================
c:\program
files\mysql\mysql
server
5.1\binmysqladmin
-u
root
-p123456
password
root
c:\program
files\mysql\mysql
server
5.1\binmysql
-u
root
-proot
========================以上是命令===================================
即可。
9
这里使用了到了mysql自带的两种命令mysqladmin.exe和mysql.exe,mysqladmin修改密码的命令格式如下
mysqladmin
-u
root
-p[oldpass]
password
newpass
注意oldpass(老密码)可选,如果root默认密码为空,则不需要输入,如果需要更改老密码,请注意老密码与-p之间不要有空格,否则会报错,另外password和newpass(新密码)之间以空格分隔。
mysql命令与mysqladmin命令格式大同小异,主要用来输入正确的用户名和密码后进入mysql命令行模式,格式如下
mysql
-u
root
-p[password]
如果不输入password,回车后会出现enter
password的提示。如果root密码为空,也不需要输入password,出现enter
password提示后回车即可。
access
这句,说明你的账号密码都是正确的,是你创建的root,密码是1234的这个用户没有访问的权限。
你可以
mysql
-u
root
-p
回车
输入密码的时候,直接回车,进入mysql
grant
all(表示权限。比如select
insert
等,all表示全部)
privileges
on
库名.表名(*代表全部)
to
'用户
名'@'%(地址)'
identified
by
'密码';
用这条sql,修改一下root
密码1234的权限
列如
grant
all
privileges
on
test.*
to
'root'@'%'
identified
by
'1234';
其中,%
表示的是,这个用户在任何地址下都可以访问test这个数据库,列如在
localhost
,
127.0.0.1
等等下都可以访问。
错误1:wizard安装最后一页,出现cannot create Windows service for mysql.error:0 错误
解决方法:打开命令行 输入 sc delete mysql 命令即
C:sc delete mysql
[SC] DeleteService SUCCESS
重起电脑,或者卸载后重启再安装,这样就好了。我是卸载后重启的。
卸载重新安装要注意一个问题,在控制面板中卸载后,要去c:\Documents and Settings\All Users\Application Data目录下把Mysql文件夹删掉。里面可能记载了你卸载的配置信息,下次安装时会有影响。
错误2:在让输入管理员输入密码时除了password和confirm password之外还有一行current password。
这说明你安装之前没有把我第1条中说的目录下把Mysql文件夹删除。不知道是否影响后续使用,可能记得密码的话没关系。另附带一句,管理员密码是自己设的,用户名则为默认root。
安装成功后可测试如下:打开mysql command line client,输入密码,出现
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.33-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql
则安装成功!
错误3:mysql server configuration失败。
在配置向导中查看错误提示有如下语句:
mysql-server-5.5-win32:60 - Adding firewall rule for MySQL55 on port 3306.
mysql-server-5.5-win32:66 - Adding firewall rule failed.
表示防火墙安装失败。
查看安装日志能找到以下语句:
mysql-installer Information: 10 : Attempting to create firewall rule with command: netsh.exe firewall add portopening protocol=TCP port=3306 profile=ALL name=MySQL55 mode=ENABLE scope=ALL
mysql-installer Information: 10 : Unexpected response from netsh: 确定。
mysql-installer Information: 10 : Attempting to create firewall rule with command: netsh.exe advfirewall firewall add rule name=”Port 3306” protocol=TCP localport=3306 dir=in action=allow
mysql-installer Information: 10 : Unexpected response from netsh: 下列命令没有找到: advfirewall firewall add rule name=”Port 3306” protocol=TCP localport=3306 dir=in action=allow。
这种情况说明mysql的安装对中文系统支持得不好,不能识别 netsh.exe返回的“确定”信息,继而运行能在其他windows平台上运行的netsh.exe advfirewall命令(该命令xp不支持,所以报找不到该命令的错误。
解决办法有两个:
①将自己的操作系统的语言设置为英文,然后重新安装mysql 。具体的可以进入控制面板-区域和语言 中去更改;另外,检查当前用户是否有启动防火墙的权限,在计算机服务中查看Application Layer Gateway Service的属性,查看登录选项卡中的用户是否是当前用户。
②检查防火墙端口,如果已经添加成功了,则不作处理,如果没有成功添加,则自己手动在防火墙中添加端口。
错误4:安装成功之后,只能通过mysql 5.5 command line client 连接localhost的mysql ser
现象
一线的工程师反映了一个奇怪的现象,刚刚从 MySQL 官网上下载了一个 MySQL 5.7.31。安装完成后,发现使用任何密码都能登陆 MySQL,修改密码也不管用,重新启动 MySQL 也不能解决。
分析
怀疑使用了 --skip-grant-tables 使用 mysqld --print-defaults 检查,没有发现。
检查登陆用户,都是 root@localhost,说明和 proxy user 没有关系。
使用 mysql --print-defaults 检查客户端是否设置默认的用户和密码,没有发现。
检查数据库中的用户和密码的相关字段:
发现一切都正常,再检查 plugin 字段,发现只有 root 用户是 auth_socket ,其它的用户都是 mysql_native_password,问题可能就出在这儿。
对 auth_socket 验证插件不了解,感觉是这个插件不安全,使用下面的命令修改后,问题解决:
update user set plugin="mysql_native_password" where user='root';
auth_socket 验证插件的使用场景
问题解决后,又仔细研究了一下 auth_socket 这个插件,发现这种验证方式有以下特点:
首先,这种验证方式不要求输入密码,即使输入了密码也不验证。这个特点让很多人觉得很不安全,实际仔细研究一下这种方式,发现还是相当安全的,因为它有另外两个限制;
只能用 UNIX 的 socket 方式登陆,这就保证了只能本地登陆,用户在使用这种登陆方式时已经通过了操作系统的安全验证;
操作系统的用户和 MySQL 数据库的用户名必须一致,例如你要登陆MySQL 的 root 用户,必须用操作系统的 root用户登陆。
auth_socket 这个插件因为有这些特点,它很适合我们在系统投产前进行安装调试的时候使用,而且也有相当的安全性,因为系统投产前通常经常同时使用操作系统的 root 用户和 MySQL 的 root 用户。当我们在系统投产后,操作系统的 root 用户和 MySQL 的 root 用户就不能随便使用了,这时可以换成其它的验证方式,可以使用下面的命令进行切换:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';