Windows下的免安装版MySQL配置
原文地址:https://blog.csdn.net/qq_40277973/article/details/81517479
近日在新的电脑上安装MySQL遇到一些小问题,在此做分享,也作为日后备用。
下载MySQL
进入MySQL官网,依次点击:上方选项卡DOWNLOADS->页面底端MySQL Community Edition->MySQL Community Server,此时会来到以下这个页面:
下载红色框选中的项目,是个压缩包。下载完毕后直接解压,可以开始配置。建议保存的路径不要有中文,以免出现各种无法解决的BUG。
配置MySQL
配置my.ini
我下载解压好以后,得到了文件夹mysql-8.0.12-winx64,进入该文件夹,此处为MySQL的根目录。
在此目录下创建文件my.ini,并在文件中输入以下代码。
[mysqld] basedir ="D:\mysql\mysql-8.0.12-winx64" datadir ="D:\mysql\mysql-8.0.12-winx64\data" port=3333 server_id =10 character-set-server=gbk character_set_filesystem=gbk [client] port=3333 default-character-set=gbk [mysqld_safe] timezone="CST" [mysql] default-character-set=utf8
输入完以后,保存时,请点击另存为,查看编码格式是否为ANSI,如果不是,请修改为ANSI,以免在后面的配置安装中出现错误。如下图所示:
在配置以前,我也参考的其他代码,经过不断试验,得到上述代码才可用。
另外,basedir和datadir后跟随的路径,需要自行更改,即根据你安装的路径来修改。我的是安装在D盘下的mysql文件中,因此路径如上。
此处配置,涉及到data文件夹的建立,因此,万万不可自己在根目录下建立空文件夹data,否则会报错。
配置环境变量(可选,但建议配置)
为了方便在其他路径下也能迅速打开MySQL,建议配置环境变量。
右击计算机->属性->高级系统设置->在高级选项卡下点击环境变量->找到PATH,如下图:
在末尾追加,注意是追加,不是覆盖,添加路径:D:\mysql\mysql-8.0.12-winx64\bin;
上述路径即你解压的路径,后面加上bin就可以了。
添加完毕后,确定,退出。
开始使用MySQL
进入C盘,依次进入Windows->System32,找到cmd.exe,以管理员身份运行,一定要注意,不能直接进入,一定是管理员身份,否则后面步骤会报错。
依次进入我们的MySQL安装目录下,如下图:
首先将MySQL加入到Windows的服务中,输入命令:
mysqld --install;
会提示安装成功,Service successfully installed.,然后进入下一步。
此时,开始初始化数据库,输入:mysqld --initialize --user=root --console(看清楚是mysqld,不是mysql,多了个d),需要稍微等一段时间,此时正在创建data文件夹,同时能够在窗口看到一大串信息,找到关键词:root@localhost,会发现关键词后会有一段复杂无规律的字符串,请务必记录下来!那是你稍后登录数据的初始密码!
上述步骤完成以后,就可以启动MySQL了。
输入:net start mysql,稍后你也可以用net stop mysql关闭MySQL服务。
然后就可以进入MySQL了,输入:mysql -u root -p,此时会要求你输入密码
而第一次登录的密码,就是刚才提到了原始密码,即毫无规律的字符串。
输入后就可以顺利进入数据库了。
如果你忘记了密码,可以将data文件夹删除,重新执行mysqld --initialize --user=root --console,然后按上述顺序继续配置。
但第一次进入,你无法进行任何操作,你可能会看到下述报错:
ERROR 1820 (HY000):You must reset your password using ALTER USER statement before executing this statement.
意思是,你需要修改你的密码,你才可以使用你的数据库,因此需要输入下述语句:
alter user user() identified by "123456";
123456可以改为其他内容,即你想要的密码,其他照抄就可以了。
此处特别说明:其他修改密码的方式我都用过了,包括:
set password=password('123456');等,都会报错,无法修改密码,只能使用alter user user() identified by "123456";,至于原因我也没找出,希望有大神能指点。
经过上述操作,MySQL应该就能使用了。
毕竟隔了一天,能想到的问题就这么多了,如果有其他问题欢迎留言,互相交流。