今天发现问题:
一、不能使用Onedrive共享MySQL数据库。
本一直想在公司和家里都可以写程序,于是就考虑用Onedrive共享目录功能,通过将公司和家里的MySQL的数据库的位置DATA目录修改到Onedrive目录,来实现公司和家里都能使用同一个数据库(Python程序通过这种模式共享没有问题),但实际发现,这种模式似乎是成功不了的。
原因在于:MySQL修改后的数据库中的被改动的文件都非常大(动辄几十M到上G),稍微有一点改动,Onedrive就认为,这个文件有新版本而试图上传,可想而知上传几十M,上百M的文件可不是太容易,所以通过Onedrive同步是很困难的。Python程序就不一样,很小,几百Kb而已,改动了很快就能同步。
二、重装MySQL后,用navicate连接时1251报错误。
由于重装Mysql8.0的时候,未注意密码模式问题,直接按默认模式安装的,结果用navicate连接时,报Navicat连接mysql8.0.1版本出现1251–Client does not support authentication protocol requested by server的问题,英文以上是说要升级客户端,当然也可以装老版本的MySQL来屈就navicate。
实际该问题就是更改密码模式到5.X就可以,通过命令修改MySQL的密码模式即可解决,请参考下面的说明:
好不容易安装好mysql,但又出现了mysql客户端版本太低的问题。根据参考的这篇博客,完美的解决了该问题。
1、打开MySQL命令行客户端
2、登陆数据库
mysql -uroot -p
3、再输入root的密码:
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 8.0.11 MySQL Community Server - GPL
Copyright (c) 2000, 2018, 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>
4、更改加密方式:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
5、更改密码:该例子中 123为新密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
6、刷新:
mysql> FLUSH PRIVILEGES;
这步完成后我已经成功解决了问题。如果报错,可以看下面第7步,博主依然给出了解决方案
7、// 如果报错ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’%’:
则是远程访问权限不正确,先选择数据库,查看一下再更改:
mysql> use mysql;
Database changed
mysql> select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
参考地址:https://blog.csdn.net/qq_42152399/article/details/80360817
https://blog.csdn.net/XDMFC/article/details/80263215