标签:提示符 statement lib 账户 自动生成 denied init 指定 数据库
前言:自己搜索总结的一个文档,包含了一些常见的问题(在文档尾部)以便于下次使用
步骤如下:
第一步:下载mysql-5.7.17-winx64解压版本:http://dev.mysql.com/downloads/mysql/
第二步:解压到安装目录,如:D:\MySql\mysql-5.7.17-winx64
解压到自定义目录:我解压到了D盘的MySql文件夹的根目录
第三步:设置环境变量
操作如下:
1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量
点击系统变量下的新建按钮
输入变量名:MYSQL_HOME
输入变量值:D:\MySql\mysql-5.7.17-winx64
2)选择系统变量中的Path
点击编辑按钮
在变量值中添加变量值:%MYSQL_HOME%\bin
注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值,
配置如下:
后面初始化指令操作后会自动生成一个data文件夹,
在cmd中进入,输入D:回车进入D盘,输入cd MySql\mysql-5.7.17-winx64\bin,进如解压的bin文件夹
输入:mysqld --install [回车] (这个命令就是安装服务, 执行完后, 提示英文的成功, 这时候你可以在你的 windows 服务中看到 MySQL 的服务,但未启动。)
输入:mysqld --initialize --console 这步很重要,这是初始化数据库, (这是在老版本配置没有的操作)然后你可以在初始化的最后面看到有一个 root@localhost: 后面有一连串的字母数字符号, 这是 MySQL 为你自动生成的随机密码,一定要记下来, 一会我们登陆 MySQL 数据库的时候要用。
PS:使用-initialize生成随机密码,使用-initialize-insecure生成空密码,初始化后data文件夹会自动生成,不用自己新建。
第五步: 启动MySQL服务
方法一:
启动服务命令为:net start mysql
方法二:
打开管理工具 服务,找到MySQL服务。
通过右键选择启动或者直接点击左边的启动来启动服务
第六步:修改 root 账号的密码
刚安装完成时mysql数据库无法登陆此时在安装文件目录下的my.ini文件中的[mysqld]下新增一行:skip-grant-tables 表示mysql登录跳过验证 然后重新启动mysql服务 修改为指定的密码。如:123456
c:>mysql –u root 登陆mysql数据库
mysql>show databases; 显示数据库
mysql>use mysql; 使用mysql数据库
Mysql> select user,host,authentication_string from user; 查询user表的用户密码
mysql>update MySQL.user set authentication_string=password(‘123456‘) where user=‘root‘ ;
mysql>FLUSH PRIVILEGES;
mysql>exit
重新打开cmd 进入安装目录下 重新启动服务 登陆修改后的密码 验证是否修改成功
Mysql>mysql –uroot –p123456;
附录1 修改登录密码
1. 打开 cmd命令提示符(管理员),进入mysql的安装bin目录下。
2.在my.ini文件中[mysqld]后添加--skip-grant-tables 表示mysql登录跳过验证
3.然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。
4.输入show databases; 可以看到所有数据库说明成功登陆。
其中mysql库就是保存用户名的地方。输入 use mysql; 选择mysql数据库。
show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。
5.输入 select user,host,authentication_string from user; 来查看账户信息。
6.更改root密码,输入
update MySQL.user set authentication_string=password(123456) where user=‘root‘ ;修改密码为123456;
7.再次查看账户信息, select user,host,authentication_string from user; 可以看到密码已被修改。
退出命令行,重启mysql数据库,用新密码尝试登录。
测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。
附录2 MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘
新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password(‘root‘) where user=‘root‘时提示ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘,原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
所以更改语句替换为update MySQL.user set authentication_string=password(‘root‘) where user=‘root‘ ;即可
附录3 mysql异常 Install/Remove of the Service Denied!
在windows 的cmd 命令下安装MySQL 时,在mysql的bin目录下面执行:
mysqld install MySQL --defaults-file="D:\mysql-5.6.17-winx64\my-default.ini"
出现如下异常:
Install/Remove of the Service Denied!
解决办法:
打开cmd.exe程序的时候,右键选择“用管理员身份打开”,再次执行就可以了:
Service successfully Installed!
附录4 MySQL错误号码1862:your password has expired或者ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
使用navicat连接mysql,若出现MySQL错误号码1862:your password has expired,或者,运行窗口中进入bin目录,>mysql -uroot -p123456登录进去,然后执行select * from mysql.users
会有如下信息:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
解决:MySQL> SET PASSWORD = PASSWORD(‘123456‘);
Query OK, 0 rows affected (0.03 sec)
然后再select * from mysql.users就有结果了,navicat也可以成功连接。
附录5 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入
skip-grant-tables
保存退出后重启mysql
1.点击“开始”->“运行”(快捷键Win+R)。
2.启动:输入 net stop mysql
3.停止:输入 net start mysql
这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。按下面的流程走(红色部分为输入部分,粉红色的是执行后显示的代码不用输入):
1.进入mysql数据库:
mysql> use mysql;
Database changed
2.给root用户设置新密码,蓝色部分自己输入:
mysql> update user set password=password("新密码") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3.刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit
Bye
改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。
mysql-5.7.17-winx64解压版本安装图解附常见问题
标签:提示符 statement lib 账户 自动生成 denied init 指定 数据库
原文地址:http://www.cnblogs.com/by-candy/p/7646930.html