Database
tcliuwenwen
真理的探索者
展开
-
MySQL客户端连接网络不稳定解决办法
博文背景作者是中国移动的校园网,网络连接不是很稳定,连接远程MySQL服务器会经常性出现断连现象,所以导致每次只要在客户端等几分钟不操作后再去执行操作时会导致需要新的新的连接建立需要十几秒中,大大降低了生产力。作者检查过客户端的配置和服务端的配置,客户端连接时TCPKeepAlive参数为True并且服务端的超时参数均正常,但是仍然没有解决问题,那么该如何解决这个问题呢?具体操作在DataGrip的客户端使用一种折中的KeepAlive方案,客户端每隔指定的秒数向服务端发送一条简单的查询语句来使连原创 2020-10-24 16:12:17 · 907 阅读 · 0 评论 -
MySQL游标入门遍历表中的所有行
准备数据CREATE DATABASE company;USE company;CREATE TABLE t_employee( id INT(4), name VARCHAR(20), gender VARCHAR(6), age INT(4), salary INT(6), deptno INT(4));INSERT INTO t_employee(id,name,gender,age,salary,deptno) VALUES(原创 2020-10-24 15:06:32 · 1746 阅读 · 1 评论 -
关系型数据库与CSV的联系
博文背景在群里聊到关系型与CSV的问题,受到大师指点,特此记录具体内容研究关系型数据库,csv是第一道坎,理解csv格式的文件数据查询(比如用awk),对于理解关系型数据库有很大帮助。比如关系型数据库为什么要有字段这个概念,字段为什么要有类型,为什么Sql叫做结构化查询,以及为什么要索引,要什么类型的索引更好,数据为什么要分页存放,等等,这些概念虽然从关系型数据库自身去学习去看待也能理解搞懂,但如果换个方式,从最古老的csv格式的查询去做对比和逐步演进,理解会透彻的多。...原创 2020-10-10 00:36:06 · 513 阅读 · 0 评论 -
SQL存储函数入门三天打鱼两天晒网问题
博文背景具体操作delimiter $$set global log_bin_trust_function_creators=TRUE;create function func_fish5(mytime date)returns varchar(25) comment '三天打鱼两天晒网'beginset @yushu=(abs(DATEDIFF('2000-01-01', mytime))%5);-- return @yushu;if @yushu<=2 then ret原创 2020-10-09 17:29:48 · 111 阅读 · 0 评论 -
MySQL不同命令行清屏的方式
博文背景MySQL命令行是大部分程序员经常需要使用的,但是在Windows下的命令行客户端貌似都不太方便清屏,本文就对常见命令行的清屏做个总结。具体操作1.powershell使用mysql.exe在这种情况下,需要mysql.exe版本是8.0及以上的,它可以调用系统命令,所以直接使用system cls就可以实现清屏。2.Windows下使用mysql-shell这个就如同大多数shell一样,使用快捷键Ctrl + L可以实现清屏。3.navicat中使用命令列工具可以在界面上部的查看原创 2020-10-06 21:40:35 · 3850 阅读 · 2 评论 -
Oracle安装12c时CDB和PDB问题的解决
博文背景新手在安装Oracle 12c数据库时会遇到很多奇怪的难题无法解决,并且很多都和CDB还有PDB有关系,非常令人头疼。解决办法在安装时把创建为容器数据库的勾给去掉,后面就和传统的数据库一样了,不会出现CDB和PDB之类的问题。现在就可以愉快地专注于业务啦。经验总结很多时候一些最简单的东西都会遇到各种各样的难题,保持好心态,不断探索,多交流多问人。...原创 2020-10-01 20:48:09 · 662 阅读 · 0 评论 -
Oracle数据库下载链接等无法打开解决办法
博文背景https://www.oracle.com/cn/database/technologies/oracle12c-windows-downloads.html从这个地址下载Oracle数据库时会出现无法打开下载链接的情况,很头疼解决办法打开F12调试,会发现仍然会被重定向到当前地址,我记得我曾经在香港的机器上面能够下载成功,但是今天突然就不行了,于是我在思考差别到底在哪里,经过一番探究,将URL中的cn给删掉,然后进入英文版本,下载即可正常完成。经验总结这一次包括另一次别人浏览器都行就原创 2020-09-30 00:33:32 · 1067 阅读 · 0 评论 -
使用docker部署Oracle 12c数据库
博文背景Oracle是当下最流行的数据库,在我们的职业生涯中或多或少会遇到它,但是Oracle非常复杂,并且除了Oracle公司提供该数据库的云服务外其他服务商并不提供,如何以简单的方式安装Oracle数据库成了我们不得不面对的问题。具体操作1.进入docker hub查看Oracle Database Enterprise Editionhttps://hub.docker.com/_/oracle-database-enterprise-edition2.使用docker拉取和启动数据库(原创 2020-09-28 17:51:42 · 748 阅读 · 0 评论 -
Ubuntu20.04安装MySQL8.0时出现依赖错误解决办法
博文背景在使用apt安装mysql8.0时出现了如下的依赖报错:dpkg: error processing package mysql-server-8.0 (--configure): installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1dpkg: dependency problems prevent configuration of mysql-s原创 2020-09-25 19:28:16 · 43390 阅读 · 3 评论 -
[MY-010273] [Server] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.问题解决
博文背景本人在Ubuntu20.04系统下使用apt安装MySQL8后直接使用mysqld命令启动会发现无法启动成功,查看日志遇到[MY-010273] [Server] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.的报错。日志分析2020-09-25T01:23:33.191419Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.原创 2020-09-25 16:30:40 · 7039 阅读 · 0 评论 -
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘问题解决
博文背景直接使用Mysql命令登录glibc安装的MySQL8时出现了ERROR 2002 (HY000): Can’t connect to local MySQL server through socket '/tmp/mysql.sock’的错误。日志分析ubuntu@shanghai:~ $ sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sockln: failed to create symbolic link '/var/mysql/mysql.原创 2020-09-25 15:06:55 · 1274 阅读 · 0 评论 -
Navicat连接2002 - Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘解决
博文背景报错是:2002 - Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (13 “Permission denied”)解决办法把navicat中的localhost修改为127.0.0.1即可,至于为什么我也不清楚。原创 2020-09-19 17:57:59 · 9789 阅读 · 6 评论 -
CentOS 7二进制安装MySQL 8.0脚本
#!/usr/bin/bashset -erpm -e --nodeps mariadb-libsyum install -y libaio numactlwget "https://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz" -O mysql-8.0.21-linux-glibc2.12-x86_64.tar.xztar -Jxvf mysql-8.0.原创 2020-09-17 22:41:40 · 211 阅读 · 0 评论 -
MySQL中value和values的区别
博文背景MySQL中有values和value两个玩意,很多博客喜欢比较它们的区别,那么它们到底有什么区别呢?具体操作VALUE is a synonym for VALUES in this context. Neither implies anything about the number of values lists, nor about the number of values per list. Either may be used whether there is a single va原创 2020-09-16 19:57:58 · 4050 阅读 · 0 评论 -
mycli无法修改分隔符解决方案
博文背景mycli是个好用的mysql命令行工具,但是由于上游解析库的原因,它不支持使用delimiter语句来更换分隔符,需要有其他解决办法来在命令行中创建存储过程和函数具体操作There is a neat workaround since version 1.20.0: you can switch to single-line mode and break lines with Alt-Enter. It allows you to create multi-line stored proce原创 2020-09-16 16:46:26 · 242 阅读 · 0 评论 -
mycli蓝色字体看不清楚文字解决办法
博文背景解决办法更换mycli的配色主题,修改~/.myclirc文件中主题为vim主题效果如下:参考链接https://www.mycli.net/syntax原创 2020-09-16 13:16:53 · 520 阅读 · 1 评论 -
MySQL下载样例数据库并导入
wget https://hongkong-1258205913.cos.accelerate.myqcloud.com/mysqlsampledatabase.sqlsudo mysql < mysqlsampledatabase.sql原创 2020-09-16 16:30:14 · 347 阅读 · 0 评论 -
MySQL生成测试用垃圾数据
背景在学习数据库的时候总是想拥有垃圾数据能够帮助我们进行SQL的练习,下面展示利用fake2db生成垃圾数据。具体操作开发环境: Ubuntu 18.04 Python3.8 MySQL8.01.安装Python3.8$ conda create -n Python38 python=3.82.激活并使用Python3.8环境$ conda activate Python383.安装fake2db$ pip install fake2db4.安装mysql的python驱动$ p原创 2020-06-18 21:41:13 · 536 阅读 · 0 评论 -
MySQL本地ROOT无法登陆,本地ROOT修改密码无效
操作背景在Ubuntu 18.04下从apt源安装MySQL 5.7时会遇到数据库ROOT帐户无法登陆的情况。或者遇到了使用mysql_secure_installation修改密码但不会生效的情况。错误本质在此情况下安装的MySQL使用的认证插件对于ROOT用户来说默认是auth_socket而不是mysql_native_password,auth_socket貌似是只管人不管密码的。...原创 2020-04-11 15:40:11 · 427 阅读 · 0 评论