去官网下载压缩版的MySQL Server,解压配置path环境变量后。然后克隆my-default.ini创建my.ini文件,在文件中[mysqld]下面配置basedir和datadir
basedir=%MySQL_HOME%
datadir=%MySQL_HOME%/data
注意:不要自己在mysql安装目录下面创建data文件夹
配置好后,用管理身份运行cmd,
输入cd %MySQL_HOME%/bin 转到mysql 的bin目录下,
输入mysqld -install ,会打印出[Service successfully installed],表示服务安装成功。
输入net start mysql ,会打印出 [MySQL 服务正在启动,MySQL 服务启动失败],
输入mysqld --console,然后没有任何的log日志,这是因为mysql目录下没有data文件数据。
在cmd中
输入mysqld --initialize ,此时会生成data文件,初始化数据
输入net start mysql ,会打印出[MySQL 服务正在启动,MySQL 服务已经启动成功]
输入net stop mysql ,会打印出[MySQL 服务正在停止,MySQL 服务已经停止成功]
此时服务已经能正常启动和停止了。
在cmd中
输入net start mysql ,启动mysql服务,
输入mysql -u root -p ,会提示[ENTER PASSWORD:],直接回车,会提示ERROR 1045 (28000): Access denied for user
这是因为初始化data的时候,随机生成了密码,此时需要修改密码。
在mysql的配置文件my.ini中,在[mysqld]下面添加 skip-grant-tables ,保存文件后,停止服务后重新启动服务。
输入mysql -u root -p ,会提示[ENTER PASSWORD:],直接回车,会出现welcom to...一大片信息
输入use mysql; 会打印出[Database changed]
如果是mysql 5.6以前的,输入UPDATE mysql.user SET Password=PASSWORD('123456') WHERE User='root';
如果是mysql 5.6以后的,输入UPDATE mysql.user SET authentication_string=PASSWORD('root') WHERE USER='root';
这是由于5.6以后user表中没有password字段。
输入FLUSH PRIVILEGES; 刷新数据库。
输入quit ,推出mysql。
至此密码修改完,已经可以正常登录了。