MySQL的那些坑】的更多相关文章

服务器安装mysql遇到的坑 一.CentOS7安装MySQL 1.下载:MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 2.安装 Yum Repository yum -y install mysql57-community-release-el7-10.noarch.rpm 3. 安装Mysql服务器 yum -y install m…
使用XMPP前安装了mysql,小白遇到好多坑,不要见怪 mysql官网下载,选择Community中扩展名为dmg的文件 安装完成后要记住密码,重要的事情只说一遍,对了,安装时也没有偏好设置和自启动,私以为是一个pkg里都包括了 在终端修改.bash_profile文件,设置一些别名以便使用 命令行输入 sudo vi ~/.bash_profile 原始文件内容,不知道有何作用,也不敢删除,先注释掉 #[[ -s "$HOME/.profile" ]] && sou…
背景:由于项目开始时数据库设计经验不足,数据库名和部分数据表名都含有大写字母.但问题是,Linux上数据库名和表名是区分大小写的,而Windows上是不区分大小写的.结果就是在看本地的数据库的时候,对着写的代码是小写的表名,后来传到服务器上却发现报错,几经审查才发觉是表名的大小写不统一的问题.真是天坑啊,坑了自己也坑了小伙伴.怎么办呢?代码已经比较多了,不太可能一下子就把代码里面的表名都改过来.网上看到说设置 lower_case_table_names 可以使Linux上的数据库表名不区分大小…
废话 话说当年,在一个春光明媚的晌午,邂逅了迷人的丁香姑娘,从此拜倒在了她的石榴裙下,至今不能自拔,这位丁香姑娘就是ORM思想. 所谓ORM思想,我的理解就是根据一定的规则,把程序中的对象和数据库中的关系数据相互映射转换.在当年之前,我用ADO.NET编写数据持久层,拼接T-Sql语句,这是一个相当繁琐的过程,而且针对不同的数据库,还要调整T-Sql语句.记得,第一个网站上线的时候,数据库改成了MySql的,为了适配MySql,我改了两天的Sql语句.现在每每想起,都不禁摇头哂笑. ORM思想如…
背景: Innodb引擎使用B_tree结构保存表数据,这样就需要一个唯一键表示每一行记录(比如二级索引记录引用). Innodb表定义中处理主键的逻辑是: 1.如果表定义了主键,就使用主键唯一定位一条记录 2.如果没有定义主键,Innodb就生成一个全局唯一的rowid来定位一条记录 auto_increment的由来: 1.Innodb强烈推荐在设计表中自定义一个主键,因为rowid是全局唯一的,所以如果有很多表没有定义主键,就会在生成rowid上产生争用. /* Dictionary sy…
Windows上安装MySQL也就不讲了,基本上一路点击下一步就可完成,现在讲讲Linux上布署Mysql,虽然也有很多网友列出了详细的步骤,可能是因为版本过老的问题导致即使按照上面一步步来也还是出现不少问题,所以在此列出以作防坑指南. 至于Mysql是什么,能做什么那就不用介绍了,主要讲安装. 环境 CentOS7.0 Mysql-5.7.17 用root用户安装 关闭防火墙或让涉及到的端口通过. -A INPUT -m state --state NEW -m tcp -p tcp --sp…
近期的一个项目要求用mysql数据库,正好系统重装了,复习下mysql的安装,哪成想是踩了无数坑啊! 要安装首先自然是火速进官网下个安装包(下载地址https://dev.mysql.com/downloads/file/?id=483327),没注意mysql都8了,上次安装的好像是5.几的.下载下来的是这么个样子,与记忆中的有点不太一样哈,这不影响,双击一路走,默认的配置也没啥问题哈,一路挺顺畅的就完成了,好像挺容易呀,以前的还要配个ini文件记得. 后面开始入坑了.命令行里输入net st…
在mysql下载安装的过程中会有一些坑,另外navicat连接mysql数据库时也存在一定的坑,总结如下: 1.计算机中丢失某个dll文件 这个问题好解决,下载个文件就搞定了,下载地址:https://www.microsoft.com/en-US/download/details.aspx?id=48145 2.安装完成后,启动mysql报错 这是由于缺少了一个初始化的步骤,如下图: 然后就启动成功了,如下: 对了,如果想省事,不想cd到mysql安装目录下敲命令,可以直接把mysql安装目录…
背景:VS2015+MySql+EF6(DB First) 采坑顺序:按照以前的记忆,操作依次如下: 1,安装 MySQL Connector/NET(不用想,装最新的,8.0.12) 2.安装 MySQL for Visual Studio (最新1.2.8) 3.在VS2015创建WEB项目 4.nuget 安装MySql.Data.Entity (最新6.10.8,会自动安装依赖包MySql.Data 6.10.8 和 EF 6.2.0) 雷区:下来,当然的要创建[ADO.NET实体数据模…
当企业内部使用的数据库种类繁杂时,或者有需求更换数据库种类时,都可能会做很多数据迁移的工作.有些迁移很简单,有些迁移可能就会很复杂,大家有没有考虑过为了顺利完成复杂的数据库迁移任务,都需要考虑并解决哪些问题呢? 在以前的工作中,我迁移过Oracle到Informix.Oracle和SQLServer.Oracle到MySQL. 在目前的公司又因为去O的关系,做了大量的迁移工作,栽了不少坑,所以和大家交流一下在迁移的过程中的一些实践. 分享大纲: 去O前的准备与考虑 确定目标数据库 表和数据对象的…
  之前用node.js写的订餐系统,很容易挂掉,一直也没想去解决它.今天看了一下,试了试,原因是在连接数据库的时候没有对error事件进行处理,导致程序一直挂在那里,需要重启服务才能正常使用.   没有使用缓存,直接都是操作数据存,所以导致一个页面数据库请求比较多.如果按住f5不动,操作太快,查询还没来得及响应,connect就被断开了,触发其error事件.但没有对它进行处理,导致程序直接挂在那里不动了   在getConnection函数中添加了对error事件的监听,能避免掉这个问题  …
坑点: 1.旧的mysql没有删除干净.在安装mysql的时候,没有注意到,在输入 “mysqld install” 指令时跳出来 exits,存在于另一个文件夹之中,这影响了后来的很多操作,包括root之后修改密码,但是一直显示密码不对,在网上搜的时候有一位朋友也遇到了同样的问题:    2.ini文件的配置,参考http://www.runoob.com/mysql/mysql-install.html,我还是在ini文件里配置了databases,如果要手动配置的话,一定要新建一个data…
代码是orm上的例子,出现如下错误: ORMError: Connection protocol not supported - have you installed the database driver for mysql? 百度一下发现,还需要npm link mysql 然后一切正常. 感觉是个坑啊…
由于客户的CentOS服务器没有安装yum工具,只能通过下载tar.gz包安装mysql,于是跟着万能的百度开启了漫漫踩坑之旅: 1.下载mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 2.解压到/usr/local/文件夹下,并改名为mysql 3.添加mysql用户组和mysql用户 groupadd mysql useradd -r -g mysql mysql 4.进入mysql文件夹 5.修改当前目录拥有者为刚才新建的mysql用户: chown -…
#config.py MYSQL_NAME = 'root' MYSQL_PASSWORD = 'zyms90bdcs' MYSQL_HOST = 'xxxx' MYSQL_POST = ' MYSQL_DBNAME = 'flask_sql' MYSQL_CHARSET = 'utf8' # SQLALCHEMY_DATABASE_URI = 'mysql://{}:{}@{}:{}/{}?charset={}'.format(MYSQL_NAME,MYSQL_PASSWORD, # MYSQ…
相信很多同学也跟我一样在家里,windows安装个虚拟机,再安装linux.然后在linux下模拟出一套运行环境.这次我装的是mysql 8.0.中间遇到很多坑,记录一下.(用的linux为redhat7.0) 1,在windows远程连接不上linux里的mysql,可能为3306端口没有打开.可以telnet下.如果没有打开则firewall-cmd --add-port=3306/tcp --permanent打开端口. 2,mysql密码加密插件不对.需要用mysql_native_pa…
TOP:BEGIN #Routine body goes here... IF EXISTS ( SELECT * FROM `user` WHERE `name` = in_user_name ) THEN SELECT - AS RET; LEAVE TOP; END IF; UPDATE `user` SET `name` = in_user_name WHERE `user_id` = in_user_id; SELECT AS RET; END if exists里面的sql后面不能加…
自己写的Java代码怎么也无法操作MySQL的写操作,打印SQL语句没有问题,检查连接也没有问题,最后手动写了一条记录,发现主键重复了,但是当时表是空的!所以就很震惊,于是选择删表重新来一次,这回成功了,我怀疑是因为之前的清空操作并没有完成.…
想着将MySQL初始化,改变一下存放数据文件的位置: root@ubuntu:/lvmdata# mkdir data root@ubuntu:/lvmdata# chown -R mysql:mysql /lvmdata/data 修改MySQL配置文件: datadir = /lvmdata/data 然后初始化: root@ubuntu:/lvmdata# mysqld --initialize --user=mysql --datadir=/lvmdata/data 报错: mysqld…
最近由于业务需要,考虑使用json类型,据了解 mysql 在版本5.7中可以支持 json 类型的数据支持,但同时目前开发环境中使用的是 mysql 5.6版本,上面还有很多项目的数据库在上面,同时也没有多余的服务器可供使用,故不能直接卸载将 mysql直接升级版本. 从而想到在同一台机器上安装多个版本的 mysql 来解决问题. 上面说到之前环境已经装有mysql 5.6版本,基本配置如下: datadir=/home/mysql/data basedir=/usr/local/mysql…
现在演示一下整个流程吧 1.创建项目和应用 PS:你也可以使用PyCharm直接创建项目 2.注册应用 先把刚刚创建的应用添加进去 3.配置MySQL或者MariaDB 4.PyMySQL替换默认的MySQLdb Django使用的MySQLdb对Python3支持力度不够,我们用PyMySQL来代替 这句话其实就是兼容代码,这样你导入mysqldb也相当于导入PyMySQL了 5.创建数据库 Django除了默认的sqlite会帮你创建数据库外(只创建对应的表),其他数据库都不会帮你创建的,所…
首先说明我的数据库是安装在云服务器上,不是专业的数据库服务器,没错就是10块钱包月的. 然后觉得使用SQLyog远程维护数据库比较方面,可是怎么都登录不上去. 下面分析原因: 1.安全组是否放过了访问的端口,这个问题不存在的,我设置的是 ALL 允许所有访问. 2.防火墙的问题,百度有好多人说是这个问题.后来发现跟这个完全没关系.远程访问根本不需要3306端口,SSH连接的端口是22,默认本地端口是3310. 3.mysql开启远程访问的问题,这个不存在我的不是localhost而是% 4.ss…
一段时间没用本机的mysql,忘了root密码,从网上找的修改方法用起来大多都有问题.mysql版本8.0.12. 网上大多数思路:修改msql启动方式为带--skip-grant-tables参数:然后免密进入客户端修改密码.但在skip-grant-tables模式下只能用update方法,但使用password函数的时候总报错. 后来找的方式: 1.以skip-grant-tables参数启动mysql --skip-grant-tables.或者修改启动ini文件. 2.免密进入客户端:…
之前一直想用 mysql 和 ef .然后多次尝试也只能感叹 还是 sqlsever 是亲儿子. 今天在单位又尝试了一次,然后就成功了,记录一下遇到的问题. 首先是安装包和驱动?. 请保证 MySql.Data / MySql.Data.Entity.EF6 / mysql Connector/NET 版本对应一致 2019.03  我使用的版本是· 6.10.8 Connector/NET 下载地址: https://dev.mysql.com/downloads/connector/net/…
2018-04-09 这个虽然跟粗心有关,但是Mysql没报错是哪般? select sum(play_count) from tb_user_login where user_id = 61 and login_time > 2018-04-09 结果:2157 select sum(play_count) from tb_user_login where user_id = 61 and login_time > '2018-04-09' 结果:6 如果没有加引号,后面的条件直接无视了..…
1,MySQL建表中double类型不能限制数据长度! 2,………
本机安装的是wamp,集成了mysql.php.apache.安装了sqlyog客户端. 1.错误代码2003 证明mysql服务没有开启,此时需要开启mysql服务,开启了wamp 2.错误代码1045 第一步:停止MySQL服务. 第二步:在你MySQL的安装目录下找到my.ini,文件,打开文件查找到 [mysqld] ,在其下方添加上一行 skip-grant-tables,然后保存. 第三步:启动MySQL服务.…
linux系统为win10自带Ubuntu子系统 错误的安装过程 我按照一般的方法安装mysql,安装步骤如下 1.升级源 $ sudo apt-get update 2.安装mysql $ sudo apt-get install mysql-server 3.安装好之后运行mysql -uroot -p 喜闻乐见报错了 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld…
1.安装 CentOS下先卸载自带的mariadb rpm -qa | grep mariadb mariadb-libs--.el7_2.x86_64 mariadb--.el7_2.x86_64 mariadb-server--.el7_2.x86_64 rpm -e --nodeps mariadb-libs--.el7_2.x86_64 rpm -ivh mysql-community-common--.el6.x86_64.rpm rpm -ivh mysql-community-li…
1.mysql数据库配置 2.首先需要建一个myweb数据库 3.执行数据库迁移命令makemigrations python manage.py makemigrations MySite 报错: 主要是说没有安装mysql客户端:但是明明安装了,因为没有mysql那个包,只有pymysql 需要在项目的目录下的__init__.py 添加如下代码:此目录C:\Users\28277\Desktop\MyWebs\Lib\site-packages\django\db\backends\mys…