平台:win10 X64
mysql: mysql-5.6.34-winx64.zip
以下所写都是本人测试过的,力争无误。上次发布了,可是发现了一些问题,特地查了一下官方文档(我会说我是用有道词典翻译的吗)
特此修正
1. 下载mysql免安装版
下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
2. 配置
将下载的zip解压,如解压到 C:\tools\databases\mysql-5.6.34-winx64,这个路径也就是你mysql的根目录
3.环境变量的配置
win10的小娜用作搜索还是挺不错的
在系统环境变量中加入mysql根目录下的bin,即C:\tools\databases\mysql-5.6.34-winx64\bin
不过你也可以先配一个mysql_home,然后再在path中这样配置 %mysql_home%\bin,像这样也是可以的
我以第一种方式配置的,如下图:
4. 修改配置文件,文档上有这么一段
就是说把my-default.ini复制一份并命名为my.ini(命名为my.cnf也是可以的,文档上有,不过my.ini的优先级要高点)
然后用记事本打开my.ini编辑,找到basedir和datadir去掉前面的#进行编辑,配置如下:
注意是斜杠,或者用两个反斜杠也可以,我第一次发布时这里弄错了,哈哈
5. 先来一个临时测试,由于此时mysql服务还没有安装到系统中,但可以用mysqld来测试,由于配置了环境变量,直接在命令行输入mysqld即可
会出现一个警告
这个窗口不要关(好吧,其实关了也可以),用管理员重开一个命令窗口,直接输入mysql -u root即可进入mysql,默认没有密码
6. 配置服务并启动
需要用管理员身份启动命令行窗口,怎样用管理员身份启动呢?在开始菜单右键你就可以看到了
在安装服务之前,需要把你刚才的mysqld关掉,使用命令
由于配置了环境变量,直接输入mysqladmin -u root shutdown即可
然后安装服务到系统中,文档上是这样的 :
有环境变量,随便哪个目录都可以咯,可是我直接用一个横线也可以,像这样:
mysqld -install,不过还是按照文档来,就是mysqld --install 这个命令安装mysql服务
然后输入命令net start mysql,这个命令用来启动mysql服务,服务名可以改,不过还是不改了
停止服务和卸载服务的命令也顺便说一下:
停止服务:net stop mysql
卸载服务:mysqld --remove
7. 启动服务后,测试一下
8. 密码设置
服务启动后就大功告成了。可以用了,不过默认是没有密码的,所以这样登录:mysql -uroot,表示用root用户登录
没有密码不太安全(总觉得少了点什么),那就配置一下密码,
先看一下官方提供的3中设置密码的方式
最后一种不推荐,他也说了,最后一种可能有无效。
简单的就我的理解分析一下,先看下面的
show databases;
use mysql;
show tables;这里面表比较多
我们要看的是user表, 里面字段很多,只看几个字段就够了
select host, user, password from user;
里面本来还有一个user为空字符串的用户,被我删掉了。然后只需要给用户添加密码就行了
不过要注意:这个修改密码可不是那种常规的sql语句,先说正确的
update user set password = password("123") where user = "root";
flush privileges;
其中123是你的新密码,然后刷新使密码生效
然后登录, mysql -uroot -p123, 如果你要直接用这种输密码的方式登录,注意p和123中间没有空格,否则系统会要求你再次输入密码
好了,再说一下,如果你改密码是这样改的:update user set password = "123" where user = "root";
那可能就要悲剧了,关于原因我有个猜测,查看我们刚才修改成功的密码,你会发现并不是123(至少显示的不是123),这说明是密码是加密的,如果你直接把密码改成看得到的123,那真实密码可能并不是123。
这个就是我的猜测。但是有的同学可能一不小心就弄错了,所以这里也提供解决方法
9. 重置密码
我为了测试,也故意弄错了,解决方法参考这篇文章:http://www.jb51.net/article/77855.htm
我总结一下,就是这样的:
1. 进入mysql根目录下的bin目录, 命令我前面有提到
2. 停止mysql服务:net stop mysql
3. 输入命令: mysqld --skip-grant-tables (注意不要加分号)
4. 不要关闭此窗口,另开一个命令行窗口,直接用mysql -uroot登录(此时密码失效了),执行第6步正确的修改密码的方法就行了
5. 我测试这个重置密码的方法一次开机只能使用一次,如果你要第2次重置密码,请重启电脑后再试
10. 设置编码
由于mysql的默认的编码可能对我们不适用,所以可以改为utf8,只需要在my.ini中配置一下就可以了
首先在mysqld下设置character-set-server = utf8
然后再在末尾设置客户端的默认编码default-character-set = utf8
然后重启一下服务,在命令行中查看一下:
可以看到除了filesystem以外其他的编码都是utf8,filesystem的编码不用改,这样就可以了
好了,mysql的配置到这里就算完了,希望大家也多研究一下官方文档,如果有什么错误遗漏的请指出,谢谢。