“Unknown database ‘sportors2‘问题的出现可能因为两个phpstudy 集成环境端口冲突

今天,在通过python连接数据库时,蹦出来一个问题“"Unknown database ‘sportors2’”
提示我数据库不存在,这是为啥?
经过反复确认代码没问题,我的数据库确实存在,我就懵了,然后向大amy老师请教时,才想起之前安装过一个phpstudy 今天又安装了一个最新版本的,这两者的端口都是3306 于是乎,就产生冲突了,
此中原因还是大amy推荐的文章:https://blog.csdn.net/CSDNPM250/article/details/78151456里提到的内容。
我按照此君的方法做了一下,怎么还是不行啊,难道是我的环境搞错了吗?
经过一番周折,才发现我看文章没看仔细,
在两个集成环境时,端口同为3306 需要改其中一个端口为其他的值,我也按照文章所说改成了3308.

#  power by php中文网 2017  www.php.cn  官网下载最新版

[client]
port=3308
[mysql]
default-character-set=utf8

[mysqld]
port=3308
basedir="D:/phpStudy/PHPTutorial/MySQL/"
datadir="D:/phpStudy/PHPTutorial/MySQL/data/"
character-set-server=utf8
default-storage-engine=INNODB
#支持 INNODB 引擎模式。修改为 default-storage-engine=INNODB 即可。
#如果 INNODB 模式如果不能启动,删除data目录下ib开头的日志文件重新启动。

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=512

query_cache_size=0
table_cache=256
tmp_table_size=18M

thread_cache_size=8
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=35M
key_buffer_size=25M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K

innodb_additional_mem_pool_size=2M

innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M

innodb_buffer_pool_size=47M
innodb_log_file_size=24M
innodb_thread_concurrency=8
innodb_thread_concurrency=8
innodb_thread_concurrency=8

最初时我也看到了文章中所说“两个都改”,我没有看到client的端口也是3306,就片面的认为是不是把两个集成环境的端口都改成3308?
当看到:


[client]
port=3306
[mysqld]
port=3306

时,我发现自己看文章没仔细看啊,将client和mysqld的端口都改了,另外一个维持3306,然后就一切正常了。
中间,我还经历了卸载一个phpstudy再进行操作的步骤,只剩下了最新的phpstudy,然后操作依旧是有问题,当时的问题我就不能确定是什么原因了,当我把两个都卸载,再重装,按照上文设置后,操作正常。
然后我在操作cmder时发现,最新版PHPstudy中的mysql是启动状态,sqlyog也能操作,python也可以正常操作,但是为何cmder没法操作呢?
原因:没有将mysql的路径加入环境变量。
加入环境变量后cmder就可以正常打开mysql了。
由此验证:环境变量的添加与cmder相关,但是加不加对sqlyog和pymysql的运行没有关系。
另外:
– 两个集成环境还会面临另一个问题,路径的优先级,两个版本,5.5 和5.7 如果5.5的路径在前,而且cmder找到了这个路径,但是mysql5.5并未开启,开启的是mysql5.7 此时,cmder会提示
“ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)”
反之亦然。
所以啊,同时要这两个版本确实是给自己挖坑。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页