上https://www.mysql.com/downloads/ ,下载免安装,32位版本,mysql-5.7.20-win32.zip。解压放在d:\mysql目录下。该目录下新建data目录。
在d:\mysql目录下新建my.ini,信息如下:
#########################################################
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
#安装路径
basedir=D:\mysql
#数据路径
datadir=D:\mysql\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\mysql\bin\mysqld.exe
#########################################################
【添加环境变量】
1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量
点击系统变量下的新建按钮
输入变量名:MYSQL_HOME
输入变量值:D:\mysql
2)选择系统变量中的Path
点击编辑按钮
在变量值中添加变量值:%MYSQL_HOME%\bin
注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值,
【注册Mysql服务】
mysqld install MySQL --defaults-file="D:\mysql\my.ini",结果报错,缺少msvcp120.dll文件,上网下载一个,拷贝到c:\windows\system32。
继续执行,结果又报错,缺少msvcr120.dll,上网再下载,拷贝到c:\windows\system32.
查了一下,这个2个文件都属于Microsoft Visual C++ 2013 Redistribute Package。是C++类的系统运行库,为C++类语言开发出的程序提供库文件。猜想mysql的程序是C++写的,所以需要C++运行库。
继续执行mysqld install MySQL --defaults-file="D:\mysql\my.ini",终于成功了。Service successfully installed.
执行net start mysql ,失败无法启动。
cmd运行services.msc进服务中查看,可执行文件路径居然是C:\Program Files\mysql 5.7\bin\mysqld --default-file=d:\mysql\my.ini Mysql。奇怪,我的mysql目录在环境变量中已经设置为d:\mysql了,而且我的c盘根本没有C:\Program Files\mysql 5.7目录,怎么回事情?
上网查攻略,似乎没有人遇到类似问题。
没关系,难不倒我。
管理员方式运行cmd.exe,执行sc delete mysql删除mysql服务,然后执行sc create mysql binpath= "d:\mysql\bin\mysqld.exe --default-file=d:\mysql\my.ini Msyql"
[SC] CreateService 成功。
执行net start mysql,报错如下:
mysql 服务正在启动 .
mysql 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
进入服务中,手工启动服务,报1053错误。
上网查攻略,大多数人都是通过服务中修改用本机administrator启动服务解决,但是对我没有用。
不过所有人都是通过mysqld来创建服务,看来用sc命令不靠谱。不过,文章看多了,似乎也来了点灵感,猜测到mysqld创建服务,执行程序路径不对的原因。
继续尝试
先删除mysql服务,然后D:\mysql\bin>mysqld --install mysql --defaults-file=d:\mysql\my.ini。结果Service successfully installed.
进入服务一看,哈哈,可执行文件路径对了,d:\mysql\bin>mysqld --defaults-file=d:\mysql\my.ini mysql。那就是说,如果不是在bin目录执行mysqld命令创建服务,那么服务中的可执行文件目录会自动设置为C:\Program Files\mysql 5.7\bin。
继续net start mysql,还是不行。
查攻略。执行如下
D:\>mysqld --remove mysql
Service successfully removed.
然后删除d:\mysql\data目录下的所有文件。这步非常关键!!!!
D:\mysql\bin>mysqld --initialize-insecure --user=mysql
D:\mysql\bin>mysqld --install mysql --defaults-file=d:\mysql\my.ini
Service successfully installed.
D:\mysql\bin>net start mysql
mysql 服务正在启动 ..
mysql 服务已经启动成功。
D:\mysql\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.20 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
终于搞定了!
似乎太曲折了。以后如果再装,会尝试下载安装版程序,看看是不是过程会不会简单一点。
【创建快捷方式】
桌面右键->新建->快捷方式->对象位置输入:d:\Windows\System32\cmd.exe。名称mysql_start。
右键单击刚才建立的快捷方式->属性->把目标一栏修改成MySQL启动参数:
d:\Windows\System32\cmd.exe "d:\MySQL\bin" /k mysql -uroot -p
双击快捷方式,可以直接连接到mysql数据库。
【修改密码】
mysql>UPDATE user SET authentication_string=PASSWORD("123456") WHERE user='root';
mysql>FLUSH PRIVILEGES;
mysql>quit
退出再登陆就可以了。