1、解压压缩版的MySQL
其中:
bin目录 - 主要存放MySQL的各种可执行程序
data目录 - 存放数据库的数据文件和索引文件等
MySQL-test - 有很多编写好的测试脚本
sql-bench - 用于MySQL benchmark基准测试的脚本
bin、data, include, lib, scripts目录等对于MySQL的正常运行非常重要,如非必要,不要动这些目录的东西
2、配置环境变量
打开系统环境变量,在Path变量下追加(注意是追加不是覆盖)MySQL bin目录:
3、配置文件 my.ini
在根目录只有一个默认的配置文件:my-default.ini。且打开之后
我们的配置由此开始:
(1). 配置basedir
Basedir是指mysql的根目录,所以应该是:basedir = D:\MYSQL
(2). 配置data
Data目录是存放数据文件和索引文件的目录,可以指定mysql目录之外的目录作为存储目录,但要注意权限问题。我的配置是:datadir = D:\MYSQL\data
(3). 配置端口
一般mysql服务都使用3306端口,如果端口被占了,可以更换其它端口
(4). 更多配置
设置客户端模式字符:default-character-set=utf8,关于这个问题,之后会有一篇博文专门讲述。
表默认存储引:default-storage-engine=INNODB。这里顺便提一下,mysql比较旧的发行版中,默认的存储引擎是MyIsam,较新的版本才是默认INNoDB的存储引擎
4. 安装MySQL服务并启动
进入Mysql的bin目录中执行 mysqld –install mysql (请记得用管理员身份运行cmd)
启动mysql服务: net start mysql(或者在计算机右键管理->服务->mysql右键启动)
5、修改MySQL user账户
这时候在cmd下应该可以通过命令行连接MySQL了
MySQL默认安装后,会生成root用户和一个匿名的用户,建议修改root账号密码,并删除匿名用户,操作如下:
Use mysql; Select Host,User,Password from user;
(1)删除匿名用户:
delete from user where User=’’;
(2)更改root账户密码:
update user set Password=PASSWORD(‘123456’) where User=’root’;
(3)添加Mysql远程连接权限
grant all privileges on *.* to root@'%' identified by '123456';
(4)刷新权限
flush privileges;
//
因为是5.7与5.6不同,所以很多时候都并不能第一次成功,而且会出现
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
1、找到my.ini配置文件,打开配置文件,找到[mysqld]一行,在下面添加skip-grant-tables后保存该文件,重新启mysql动服务。
2、通过cmd进如到Mysql下的bin目录下,输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。
3、进入mysql数据库:
mysql> use mysql;Database changed
4、输入update mysql.user set authentication_string=password('123') where user='root' ;
原因是:新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,5.7版本原来的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
5、编辑my.ini文件删掉skip-grant-tables 这一行,然后重启MySQL,否则MySQL仍能免密码登录。