前几天在知乎偶然发现一份python练习题,正好闲来无事就尝试挨个实现一下,奈何才疏学浅,光在数据库就折腾了快一天
附练习册 GitHub链接:python练习册,每天一个小程序
这个是GitHub镜像链接,应该比直接访问要稳定一些
其中有一个题是将数据批量写入mysql,因为之前安装的mysql已经千疮百孔,就干脆卸载重新安装了一遍,现在将安装与配置过程尝试写出来
1.首先是卸载原有mysql1.在设置>应用中卸载mysql
2.可以右键计算机,找到>管理>服务和应用程序>服务,找到mysql服务,右键属性查看可执行文件位置,删除即可
我的MYSQL4文件已经删除,但在服务列表中还有显示,无法删除(求解!),如果有同样问题的话最好禁止掉用不上的服务和注意区分两个服务可执行文件位置
3.win+R输入regedit进去注册表删除HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesEventlogApplicationMySQL文件夹,部分电脑可能还有Set002文件,也删除就可以了
这样mysql基本就可以删除干净
2.其次是重新安装mysql1.mysql官网链接:MySQL :: Download MySQL Community Server
这个链接直接就是社区版下载界面
下载64位第一个压缩包即可,注意区分二者不同
2.下载完成后解压到安装目录,最好不要藏得太深,以免配置环境时找不到
3.在目录文件夹下创建配置文件my.ini
[mysqld] # 将这两处路径更改为自己的路径即可,注意,现在文件夹内并没有data文件,不要自行创建,以免报错 basedir ="D:mysqlmysql-8.0.26-winx64" datadir ="D:mysqlmysql-8.0.26-winx64data" port=3306 server_id =10 character-set-server=gbk character_set_filesystem=gbk [client] port=3306 default-character-set=gbk [mysqld_safe] timezone="CST" [mysql] default-character-set=utf8
4.配置环境变量
以win10为准,点击左下角搜索“环境变量”
打开右下角“环境变量(N)...”可以看到界面分为“用户变量”和“系统变量” ,点击系统变量下的新建,输入
mysql # 变量名 D:mysqlmysql-8.0.26-winx64 # 变量值即为刚刚的安装路径
然后在系统变量中找到path,点击编辑>新建,输入D:mysqlmysql-8.0.26-winx64bin,随后保存退出,检查无误后已管理员身份运行cmd,输入
mysqld --install # 将mysql加入到系统服务中 # 提示 Service successfully installed 时为安装成功
接着输入
mysqld --initialize --user=root --console # 初始化数据库
稍等一会,会看到一堆信息,找到root@localhost后的一段复杂的字符串,他就是进入数据库的初始密码,现在就可以输入
# 启动mysql服务 net start mysql # 想要关闭服务时可以使用 net stop mysql
启动以后就可以进入mysql了,输入 mysql -u root -p
在此处输入刚刚保存的初始密码,出现mysql>时即表示进入成功,紧接着就是修改一个简单的密码
alter user user() identified by "1111" # by 后面的即为要更改的新密码3.部分报错及解决方案 1.1045错误
我在最开始登录和连接Navicat时出现了1045错误ERROR 1045(28000): Access denied for user 'root'@'localhost'(using password),关于错误原因可以参考深入分析MySQL ERROR 1045 (28000)_数据库技术_Linux公社-Linux系统门户网站
我查阅到的解决方案包括但不限于
1.关闭服务后在my.ini文件[mysqlld]的下面添加skip-grant-tables,意在跳过密码认证直接进入,不过好像不适用8.0以后的版本
2.停止服务后创建新的txt文件,执行--init-file=,意在更改根用户密码
3.重启防火墙重启计算机
4.再次重新卸载安装
......
有三点应该注意:
1.my.ini文件中的端口号是否为默认端口号3306,端口是否被占用
2.电脑防火墙设置
3.是否有多个sql服务同时运行
多次尝试后,上诉方法都没能解决问题,最后我尝试删除data文件,重新执行mysqld --initialize --user=root --console及后续过程后成功修改密码,小黑窗运行无误后,Navicat也基本没有报错
2.Navicat的2003错误多为端口被占用或sql服务没用启动
其它错误暂且没有遇到,之后使用python操作部分还蛮顺利,没有什么大问题,主要就在于1045着实头疼
若有纰漏、错误、不严谨等问题,烦请各位大神不吝指正
-------------------------------------------
刚写完突然电脑蓝屏,跳出来一句“你的设备遇到问题,需要重启”,以为要重新写了



