第一步:下载mysql-5.7.17-winx64解压版本:http://dev.mysql.com/downloads/mysql/
第二步:解压到安装目录,如:C:\myprogram\mysql-5.7.17-winx64
第三步:设置环境变量
操作如下:
1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量
点击系统变量下的新建按钮
输入变量名:MYSQL_HOME
输入变量值:C:\myprogram\mysql-5.7.17-winx64
2)选择系统变量中的Path
点击编辑按钮
在变量值中添加变量值:%MYSQL_HOME%\bin
注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值,
第四步:修改C:\myprogram\mysql-5.7.17-winx64文件夹下的my.ini文件,如果没有可以复制my-default.ini来进行修改:
必须要注意的是my.ini文件,修改完成之后必须放到bin目录下,这样才能正确启动服务,net start MySQL******************
#########################################################
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
basedir=C:\myprogram\mysql-5.7.17-winx64
#解压目录
datadir=C:\myprogram\mysql-5.7.17-winx64\data
#解压目录下data目录
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
C:\myprogram\mysql-5.7.17-winx64\bin\mysqld.exe
########
第四步:将mysql注册为windows系统服务
1)管理员身份运行cmd,从控制台进入到MySQL解压目录下的 bin 目录下:
2)输入服务安装命令:
mysqld install
#解压目录下修改的my.ini文件
安装成功后会提示服务安装成功。
#注:my.ini文件放在MySQL解压后的根目录下
#移除服务命令为:mysqld -remove
第五步: 启动MySQL服务
方法一:
启动服务命令为:net start mysql
方法二:
打开管理工具 服务,找到MySQL服务。
通过右键选择启动或者直接点击左边的启动来启动服务
第六步:修改 root 账号的密码
刚安装完成时root账号默认密码为空,此时可以将密码修改为指定的密码。如:123456
c:>mysql –u root
mysql>show databases;
mysql>use mysql;
mysql>UPDATE user SET password=PASSWORD("123456") WHERE user='root';
mysql>FLUSH PRIVILEGES;
mysql>exit
但这样并不能登录成功。
第七步:修改my.ini文件,在[mysqld]下加入如下命令:skip-grant-tables,然后重启mysql服务
第八步:登录修改root用户密码
c:>mysql –u root
mysql>show databases;
mysql>use mysql;
mysql> UPDATE user SET authentication_string = PASSWORD(‘123456’) WHERE user = ‘root’;
mysql>FLUSH PRIVILEGES;
此时,编辑my.ini文件删掉skip-grant-tables 这一行,然后重启MySQL,否则MySQL仍能免密码登录,成功以后可以退出后重新登录测试是否成功。
MySql5.6操作时报错:You must SET PASSWORD before executing this statement解决
mysql> SET PASSWORD = PASSWORD(‘123456’);
Query OK, 0 rows affected (0.03 sec)
mysql> create database roger;
Query OK, 1 row affected (0.00 sec)
也就是用mysql> SET PASSWORD = PASSWORD(‘123456’);这句话重新设置一次密码!
解决此问题有以下2个方法:
localhost改成%
1.进入mysql的BIN目录
注:root为管理员用户名,password为用户root的密码:
mysql -u root -p password
mysql>use mysql;
mysql>update user set host =’%‘where user =‘root’ and host =‘localhost’;
mysql>flush privileges;
注:这时候连接此服务器的mysql客户端需要重新启动下,然后再连接此服务器。
具体分析
1、在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为’%’。
mysql>
mysql>use mysql;
mysql>select ‘host’ from user where user=‘root’;
#查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
另一种方法
如果你使用的是客户端软件,我们可以在mysql服务器上使用客户端软件进入,在查询分析器中输入:(注意,你必须是root权限用户登录哦,否则是不可以修改的)
use mysql;
select * from user where user=‘root’;
在查询结果中(只有一条)直接修改host列值,由localhost改为#,点击apply运行即可修改。然后重启客户端再重新连接即可。
或者:
use mysql;
update user set host = ‘%’ where user =‘root’ and host=‘localhost’
然后重启客户端再重新连接即可。