mysql本地、远程连接及'mysql' 不是内部或外部命令错误 - CSDN博客  https://blog.csdn/sjpljr/article/details/80115364

Python3 MySQL 数据库连接 | 菜鸟教程(好用!)  http://www.runoob/python3/python3-mysql.html

安装:pip install pymysql

python 处理中文 读取数据库输出全是问号  http://www.mamicode/info-detail-2179126.html

SQLite – Python | 菜鸟教程  http://www.runoob/sqlite/sqlite-python.html

Cursor() -- Python &MySQL操作 - 小房子詹 - 博客园  https://wwwblogs/Refun-7/p/6321820.html

Python操作MySQL数据库的三种方法 - CSDN博客  https://blog.csdn/Oscer2016/article/details/70257024

--------------------------------安装mysql-------------------------------

一、安装与卸载MySQL Community Server

 

特别注意:mysql莫名其妙地不能安装成功。

有时安装mysql不成功,根本不是软件本身的原因,但确实浪费了大量的时间在安装本身。比如:360安全卫士、360杀毒等杀毒软件、防火墙之类的。尤其是360安全软件,有时安装比较大的开发软件或数据库环境时,360在后台阻止了软件所必须的插件的安装,但360并未给出明确的报警,就出现了莫名其妙的安装失败。

为防止不必要的麻烦:可先关闭360软件。!!!!

1、安装

MySQL下载地址:http://dev.mysql/downloads/mysql/

建议:在Windows环境下,建议下载Installer MSI版本Windows (x86, 32-bit), MSI Installer

或安装:Windows (x86, 64-bit), ZIP Archive,(mysql-8.0.11-winx64.zip)

或安装:Windows (x86, 64-bit), ZIP Archive,Debug Binaries & Test Suite,(mysql-8.0.11-winx64-debug-test.zip)

注意:有的windows 7系统电脑上,使用Windows (x86, 64-bit), ZIP Archive的mysql安装文件不能安装mysql server。提示:

one or more product requirements have not been satisified.
those products with missing requirements will  been not installed/upgraded.Do you wish to continue?
但安装时并未提示缺少哪个环境,导致无法继续安装。
解决办法:
如果是32位操作系统,需要下载32位的mysql的msi安装包。如:Windows (x86, 32-bit), MSI Installer(mysql-installer-community-8.0.11.0.msi)。

mysql安装程序运行到Check Requirements 标签,提示要求安装:Microsoft Visual C++ 2013 Redistributable(x86)-12.0.40660

安装所需环境后,mysql server顺利安装完成。

x86代表32位操作系统,x64代表64位操作系统。两种对CPU GPRs的数据宽度要求不同,一个是64位,一个是32位;64位支持4G及以上内存的电脑,32位的支持4G以下内存的电脑。

 

2、关于卸载mysql(基本解决重装失败问题):
删除注册表中:HKEY_LOCAL_MACHINE--SOFTWARE--MySQL(MySQL AB)这两个文件夹全部删除掉;
注册表中删除 :
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL  
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL
再删除mysql的install directory及data directory。

二、mysql服务器启动与停止:

1、cmd控制台命令行:

启动:net start mysql57(注:mysql为实例名称)

停止:net stop mysql57(注:mysql为实例名称)

2、我的电脑——右键菜单选择“管理”——服务——mysql57(mysql57为实例名称):启动或停止。

或控制面板—(系统和安全)—管理工具——服务——mysql57(mysql57为实例名称):启动或停止。

3、cmd控制台键入命令:services.msc,直接启动服务窗口。

三、安装mysql基本设置

install directory:C:\Program Files\MySQL\MySQL Server 5.7

data directory:C:\ProgramData\MySQL\MySQL Server 5.7(这个文件夹是隐藏的,需要将资源浏览器的查看属性设置为“取消隐藏”才能看到)特别注意:系统黙认安装mysql时涉及密码的my.ini,data文件夹全部data directory中。而不是install directory!!

MySQL Notifier 是一款 MySQL 数据库的辅助工具。它可以在系统任务栏通知区域(MySQL Notifier系统托盘)处驻留图标,用于快捷监视、更改服务器实例(服务)的状态。同时,也可以与一些图形化管理工具(如 MySQL Workbench)集成使用。

MySQL Notifier 由 Oracle 开发,是 MySQL 官方支持的 DBA 工具之一。

用处不大,可以设置开机不启动。

 

四、mysql数据库文件备份与恢复

mysql服务器已存在数据库cems,数据库名:cems;用户名:pd;密码pd123。
例1、将数据库cems备份到d:\mysql_backup.sql文件中:
mysqldum cems > d:\mysql_backup.sql -upd -ppd1123
例2、恢复数据库备份文件d:\mysql_backup.sqlp到cems数据库中:
mysql -u root -p  cems < d:\mysql_backup.sqlp

 

MySQL 数据备份与还原(可用)  http://wwwblogs/kissdodog/p/4174421.html

完全手动完整备份网站程序、MySQL数据库备份方法 - 站长之家  http://www.chinaz/web/2017/0626/756125.shtml

 

五、故障解决

 

安装mysql-installer-community-5.7.21.0,错误提示:

问题1、安装MySQL时,在check requirements阶段,提示:python 3.4(32-bit)is not installed

 

但计算机已经安装了python IDE Anconda,python为3.6。

 

尚未解决。

问题2、安装时root用户密码问题

mysql installer——安装mysql server 5.7.21时,在accounts and roles阶段,要求输入root account password,密码不正确导致无法next。(暂设pd123)

 

Mysql 忘记root密码的完美解决方法_Mysql_脚本之家  http://www.jb51/article/100925.htm

问题:安装mysql时,accounts and roles阶段,applying security settings不能通过。

在mysql安装--accounts and roles界面的configuration标签旁边的log标签中有如下信息:
Ended configuration step: Applying security settings

Authentication to host 'localhost' for user 'root' using method 'mysql_native_password' failed with message: Access denied for user 'root'@'localhost' (using password: NO)

推断原因:以用户名root,空密码,登录localhost服务器主机失败。因以前建了一个用户,并修改了root用户密码。
总结:出现此提示,先不必着急安装,查看mysql installer安装界面中的log记录,查找原因,可能更有针对性解决问题。
 

问题3、mysql启动菜单MySQL 5.7 MySQL command line client控制台窗口一闪而过
如果没有navicat可视化工具,可在MySQL 5.7 MySQL command line client 使用命令,按界面提示输入密码,如果输入密码正确,进入"mysql>"提示符,如果输入错误,控制台窗口将一闪关闭。

问题:connect to server连接服务器失败
接着又遇到新问题:mysql安装进程——connect to server阶段:提示输入root账号密码,点击chect按钮,提示all connections failed.
不输入密码无法进行next。

 

解决:

1045-access denied for user 'root'@'localhost'(using password:NO)
1、开始菜单里,搜索cmd,右击,以管理员身份运行控制台。停止mysql服务,输入:net stop mysql(mysql要更改为实际的实例名);点击回车即可。configure mysql server as a windwos service--windows service name:mysql57(mysql为mysql 服务器名称,具体情况有所不同)
2. 进入mysql安装目录,假设为 C:\Program Files\MySQL\MySQL Server 5.7 , 按下shift键同时点击鼠标右键,弹出菜单选择“在此处打开命令窗口”,打开控制台。

3. 运行 C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld -nt --skip-grant-tables 

启动mysql,关闭权限的检查,结果又提示如下错误:

mysqld: Can't change dir to 'C:\Program Files\MySQL\MySQL Server 5.7\data\' (Errcode: 2 - No such file or directory)

解决方法:新建'C:\Program Files\MySQL\MySQL Server 5.7\data\'这个目录。

mysqld -nt --skip -grant -tables
建好data文件夹后,输入以下命令:mysqladmin -u root flush-privileges password "1" 
又提示以下错误:mysqladmin: reload failed; error: 'Table 'mysql.user' doesn't exist'

----------------------------------------------------------------
2003-cann't connect to mysql server on 'localhost'(10061)
输入命令:mysqladmin -u root flush-privileges password "真实密码" 
提示:
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqladmin
password "pd123"
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (Check that mysqld is running on localhost and that the
You can check this by doing 'telnet localhost 3306'
MySQL安装 Apply security settings报错1045解决方案 http://blog.sina/s/blog_61cee24f0100mhl6.html
MySQL安装applying security settings错误解 https://jingyan.baidu/article/8ebacdf02e392a49f65cd52d.html

 

问题5:mysql服务器被360安全卫士破坏

现象,services.msc打开服务窗口,发现mysql服务器实例(例如,名称为mysql57的服务项)消失。

不能启动mysql服务器

 

python3.x连接mysql模块:PyMySQL(下载地址:https://github/PyMySQL/PyMySQL),并非python2.x的mysqldb。注意:PyMySQL不能用pip安装,可以直接:import pymysql

mysql requriement pyton 3.4 is not installed
MySQLdb只支持Python2.*,还不支持3.*
可以用PyMySQL代替。安装方法:pip install PyMySQL
然后在需要的项目中,把 __init__.py中添加两行:
import pymysql

pymysql.install_as_MySQLdb()

--------------mysql数据库的操作----------------------

概念:connection和session的定义和区别:
1.连接(connection)是一个物理的概念,它指的是一个通过网络建立的客户端和专有服务器(DedicatedServer)或调度器(Shared
Server)的一个网络连接。
2.会话(session)是一个逻辑的概念,它是存在于实例中。
注:创建一个连接(connection)实际上是在某个实例(instance,或者说是进程)中创建一个或多个线程。
两者关系:
1、一个连接可以拥有多个会话也可以没有会话(实际上,一条连接上的各个会话可以使用不同的用户身份),同一个连接上的不同会话之间不会相互影响。
2、两个会话之间的影响,体现在锁和锁存,即对相同资源的操作(对象定义或数据块)或请求(CPU/内存),它们的处理一般是按队列来处理的,前面的没有处理好,后面的就要等待。如果以打电话来比喻:connect就好比你接通对方,这时,connect就建立了,有没有通话,不管。双方进行通话,则session建立了,如果换人,则新的session建立,原session结束,类似的,可以在同一个connect上进行多个会话。最后,挂机,connect结束。


会话
通常来说,数据库连接就是一个socket的连接。
会话是基于连接的一个高级抽象
会话可以在连接之前做其它的逻辑处理,使得数据传输更高效。
不能笼统地称数据库连接就是socket连接,数据库连接是基于socket之上的,有自己的数据传输协议。正如http基于socket
一个会话可以有多个连接,每个连接可以连接到不同的服务器,如数据库主从库
数据库连接和会话之间有什么关系?
数据库连接原理上和网站的一个session差不多吧,只不过session是把key放在cookie里面,数据库连接是把key放在客户端的library的内存里(比如.Net Sql Client)。对MS SQL来说,这个连接的协议叫TDS,底下可以走多种传输层协议,比如tcpip,也可以named pipe。而MySQL就又有自己的协议。当然在拿到key之前,先要走个authentication过程,比如Windows Authentication或者Sql authentication,过了authentication才会产生一个session key。如果是启用SSL的话那么整个连接上的数据流还会被加密,防止信息泄露或者中间人攻击。

 

mysql数据库索引优化与实践(一) - Timco - 博客园  https://wwwblogs/timco/p/8620855.html

查询mysql字段名和字段注释

用easyui datagrid 想动态生成列,在服务器端运行,由于字段用英文,所以需要查询相应的注释作为datagrid的表头

mysql不区分大小写,所以下面的大写都可以换成小写;
select COLUMN_NAME,column_comment from INFORMATION_SCHEMA.Columns where table_name='表名' and table_schema='数据库名'

 

http://www.easyicon/,sr,79,83@qq

数据库联接:mysql、sqlite

MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率。

MySQL 5.7 版本的安装及简单使用(图文教程) - CSDN博客  http://blog.csdn/hisense20112784/article/details/72909701

mysql-connector-python 8.0.6 : Python Package Index  https://pypi.python/pypi/mysql-connector-python/8.0.6

Navicat for MySQL下载、安装与破解 - 醉酒染青衣 - 博客园  https://wwwblogs/da19951208/p/6403607.html

【Python】Windows平台下Python、Pydev连接Mysql数据库 - 编程记录,亲测有效 - CSDN博客  http://blog.csdn/yongh701/article/details/47748909

Python3连接Mysql - ShengLeQi - 博客园  https://wwwblogs/sheng-247/p/7681039.html

Qt Model/View 学习笔记 (一) - 雪莲 - 博客园  http://wwwblogs/chenxuelian/archive/2009/12/22/1629601.html

Qt QTableview的用法详解 | 学步园  http://www.xuebuyuan/573899.html

import pymysql
import mysql.connector
conn = mysql.connector.connect(user='root', password='pd123', database='cem')
cursor=conn.cursor()
sqla='select * from e_baseinfo'
cursor.execute(sqla)
results=cursor.fetchall()
print(results)

mysql command line client语法 - CSDN博客  http://blog.csdn/heikefangxian23/article/details/52539285

SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率

SQLite数据库管理工具sqlitestudio(绿色单文件,体积小,功能强大),比起其它SQLite管理工具,我喜欢用这个。很方便易用,不用安装的单个可执行文件,支持中文。

http://www.pc6/softview/SoftView_86552.html

python 操作MySQL数据库 | 菜鸟教程  http://www.runoob/python/python-mysql.html

更多推荐

pydev连接数据库mysql布署及python连接mysql问题及Python学习