首页
关于
Search
1
阿里云rds数据库mysql版cpu占用100%排查问题过程
1,415 阅读
2
解决Gitlab进行clone、push、pull的时候报错aborting due to possible repository corruption on the remote side. git-pack-objects died with error.index-pack failed问题
1,317 阅读
3
nginx、php-fpm、thinkphp接口请求偶尔返回502导致前端报CORS跨域错误问题
861 阅读
4
使用VMware Workstation pro 15安装黑苹果后,开机卡在logo的问题
801 阅读
5
PHP连接SQLserver报错:SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver for SQL Server to communicate with SQL Server. Access the followin
601 阅读
计算机
数据库
Linux
PHP开发
前端
好文收藏
产品
创业
天天向上
阅读
工作
登录
Search
标签搜索
PHP
ss
pdo
mysql
php8
阅读
摘抄
PHP后端开发技术学习
累计撰写
104
篇文章
累计收到
1
条评论
首页
栏目
计算机
数据库
Linux
PHP开发
前端
好文收藏
产品
创业
天天向上
阅读
工作
页面
关于
搜索到
18
篇与
数据库
的结果
2022-03-03
Redis持久化方式对比
Redis持久化方式对比
2022年03月03日
318 阅读
2020-04-22
MySQL根据某个字段值进行排序
使用case when语句SELECT id,name FROM user ORDER BY CASE WEHN id = '1' TEHN 1 WHEN id = '2' THEN 2 ELSE 3 END ;
2020年04月22日
186 阅读
2019-10-07
mysql查询某个字段有两条重复记录的SQL语句
由于写代码的疏忽,可能会导致数据库多出一条重复的记录,这时需要找到重复的记录把其中一条删除,例如查找以下数据表多出了的parent_order_id相同并且备注为某某某获得奖励的记录CREATE TABLE `x_fenxiao_reward` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` int(10) unsigned NOT NULL COMMENT '总部id', `parent_order_id` int(10) unsigned NOT NULL COMMENT 'x_ordinary_pay_record表id', `sub_order_id` int(10) unsigned NOT NULL COMMENT 'x_ordinary_pay_goods表id', `state` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '0:未结算 1:冻结(发生退款退货) 2:已结算 3:作废', `confirm_time` int(10) unsigned NOT NULL COMMENT '自动结算时间:确认收货的时间点+结算的时间间隔fenxiao_settlement_day(转为秒)', `reward_level_1` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '业务员的佣金', `reward_level_1_client_code` varchar(10) NOT NULL DEFAULT '' COMMENT '业务员的邀请码', `last_update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最近更新时间', `end_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最终结算时间', `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '推广备注(用于关注人推广,签到推广)', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=2915 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='业务员佣金明细表';利用临时表、子查询、count函数和group by结合,整理出来的语句为SELECT * FROM x_fenxiao_reward WHERE id in( SELECT id FROM ( SELECT parent_order_id, COUNT(*) AS count FROM x_fenxiao_reward WHERE state = '0' GROUP BY parent_order_id HAVING count = 2 ) AS result LEFT JOIN x_fenxiao_reward ON x_fenxiao_reward.parent_order_id = result.parent_order_id ) AND remark LIKE '%获得的奖励记录%'
2019年10月07日
592 阅读
2019-10-06
MySQL通过goldengate单向同步到Oracle数据库
操作系统以及软件版本源端:操作系统centos7.6 数据库MYSQL5.6.45 goldengate版本122022_ggs_Linux_x64_MySQL_64bit目标端:操作系统win10 数据库Oracle11gR2 goldengate版本122023_ggs_Windows_x64_shiphome配置mysql 在/var/lib/mysql目录下创建存放binlog日志的文件夹binlogmkdir /var/lib/mysql/binlog编辑my.cnf文件,在[mysqld]后面添加以下配置项log-bin = /usr/local/var/mysql/logs/mysql-bin.log expire-logs-days = 14 max-binlog-size = 500M server-id = 1 binlog_format=row重启mysqlservice mysql restart,登录mysql,执行fsd可以看到是否开启binlog日志,log_bin为ON表示开启成功| log_bin | ON | | log_bin_basename | /var/lib/mysql/binlog/mysql-bin | | log_bin_index | /var/lib/mysql/binlog/mysql-bin.index | | log_bin_trust_function_creators | OFF | | log_bin_use_v1_row_events | OFF | | sql_log_bin | ON同时可以看到/var/lib/mysql/binlog文件夹生成mysql-bin.000001 mysql-bin.index创建测试数据库以及数据表create database ogg default character set utf8 collate utf8_general_ci; CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', `name` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '姓名', `age` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '年龄', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='人物表';安装和配置源端mysql版goldengate通过网址https://www.oracle.com/middleware/technologies/goldengate-downloads.html下载软件包 122022_ggs_Linux_x64_MySQL_64bit.zip切换至mysql用户 su - mysql新建文件夹oggmkdir ogg将122022_ggs_Linux_x64_MySQL_64bit.zip文件通过fizezilla或其它工具上传至ogg文件夹,并更改所有者为mysqlchown mysql:mysql 122022_ggs_Linux_x64_MySQL_64bit.zip切换至mysql用户并解压文件到当前文件夹unzip 122022_ggs_Linux_x64_MySQL_64bit.zip tar -xvf ggs_Linux_x64_MySQL_64bit.tar配置ogg参数 进入ogg文件夹,运行ogg主程序./ggsci执行创建子目录命令create subdirs配置管理进程,输入命令edit params mgr,创建配置文件填入以下内容后保存PORT 7809 autorestart extract *,waitminutes 2,resetminutes 5启动管理进程,输入命令start mgr,启动成功后显示如下Manager started.输入命令info mgr可以看到管理进程运行状态Manager is running (IP port localhost.localdomain.7809, Process ID 3862).配置抽取进行e_m执行命令edit params e_m创建配置文件,并填入以下内容EXTRACT e_m setenv (MYSQL_HOME=/var/lib/mysql) TRANLOGOPTIONS ALTLOGDEST /var/lib/mysql/binlog/mysql-bin.index SOURCEDB ogg@localhost:3306, USERID root, PASSWORD 123456 REPORTCOUNT EVERY 30 MINUTES, RATE EXTTRAIL /var/lib/mysql/ogg/dirdat/mq,FORMAT RELEASE 12.2 TABLE ogg.user;添加抽取进程add extract e_m,tranlog,begin now add exttrail /var/lib/mysql/ogg/dirdat/mq,extract e_m启动抽取进程start e_m使用info e_m命令查看启动状态,成功如下EXTRACT E_M Last Started 2019-10-06 04:37 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:04 ago) Process ID 5032 VAM Read Checkpoint 2019-10-06 04:33:54.477981配置推送进程p_m执行edit params p_m命令创建配置文件并填入以下内容extract p_m SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK) sourcedb ogg@127.0.0.1:3306 userid root password 123456 PASSTHRU numfiles 20000 rmthost 192.168.56.1,mgrport 7809,compress rmttrail F:\oracle12\product\12.2.0\oggcore_1\dirdat\mq,FORMAT RELEASE 12.2 table ogg.user;添加推送进程add extract p_m,exttrailsource /var/lib/mysql/ogg/dirdat/mq add rmttrail F:\oracle12\product\12.2.0\oggcore_1\dirdat\mq,extract p_m,megabytes 500启动推送进程start p_m输入info p_m命令查看启动状态,成功如下EXTRACT P_M Last Started 2019-10-06 05:01 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:02:37 ago) Process ID 6315 Log Read Checkpoint File /var/lib/mysql/ogg/dirdat/mq000000000 First Record RBA 0输入info all命令,可以查看mgr、e_m、p_m进程已经启动成功MANAGER RUNNING EXTRACT RUNNING E_M 00:00:00 00:00:08 EXTRACT ABENDED P_M 00:00:00 00:04:00 配置异构文件defgen.prm(异构数据库需要配置) 输入命令edit params defgen创建配置文件并填入内容defsfile ./dirdef/defgen.prm sourcedb ogg@127.0.0.1:3306 userid root, password 123456 table ogg.user;输入exit退出ogg主程序,执行defgen程序生成表定义文件defgen.prm./defgen paramfile ./dirprm/defgen.prm将生成在/dirdef/defgen.prm文件传到目标端对应文件夹下创建Oracle测试表创建测试表CREATE TABLE "CXWT"."user" ( "id" NUMBER(10,0) DEFAULT 0 NOT NULL ENABLE, "name" VARCHAR2(15) DEFAULT '' NOT NULL ENABLE, "age" NUMBER(10,0) DEFAULT 0 NOT NULL ENABLE, PRIMARY KEY ("id") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 NOCOMPRESS LOGGING TABLESPACE "CXWT_SPACE" ENABLE ) SEGMENT CREATION DEFERRED PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING TABLESPACE "CXWT_SPACE"; CREATE UNIQUE INDEX "CXWT"."SYS_C0011103" ON "CXWT"."user" ("id") PCTFREE 10 INITRANS 2 MAXTRANS 255 NOCOMPRESS LOGGING TABLESPACE "CXWT_SPACE";安装目标端Oracle版goldengate通过网址https://www.oracle.com/middleware/technologies/goldengate-downloads.html下载软件包122023_ggs_Windows_x64_shiphome.zip 解压软件包,并打开setup.exe文件进行安装,在弹出的安装界面第一步选择Oracle 11g数据库,安装路径选择了F:\oracle12\product\12.2.0\oggcore_1使用cmd打开goldengate安装目录,运行ogg主程序.\ggsci.exe配置管理进程,输入命令edit params mgr,修改配置文件,内容改为PORT 7809 ACCESSRULE, PROG REPLICAT, IPADDR 192.168.56.101 ALLOW //IPADDR为源端IP地址输入命令start mgr启动管理进程,启动成功将弹出另外两个窗口,一个管理进程窗口,另外一个是收集进程窗口配置GLOBALS和checkpoint输入命令edit params ./GLOBALS创建配置文件并填入以下内容checkpointtable cxwt.checkpoint输入命令dblogin userid cxwt,password 123456登录Oracle数据库输入以下命令添加checkpoint表 add checkpointtable cxwt.checkpoint创建复制进程e_m输入命令edit params r_m创建配置文件并填入以下内容replicat r_m setenv(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK) setenv(ORACLE_HOME=F:\oracle12\product\11.2.0\dbhome_1) sourcedefs F:\oracle12\product\12.2.0\oggcore_1\dirdef\defgen.prm userid cxwt,password remainconfident discardfile F:\oracle12\product\12.2.0\oggcore_1\dirrpt\r_m.dsc,purge HANDLECOLLISIONS map ogg.user,target cxwt.user;添加复制进程add replicat r_m,exttrail F:\oracle12\product\12.2.0\oggcore_1\dirdat\mq,checkpointtable cxwt.checkpoint启动goldengate进行同步拷贝源端defen.prm到目标端F:\oracle12\product\12.2.0\oggcore_1\dirdef文件夹下 源端开启mgr、e_m、p_m进程start mgr start e_m start p_m使用info all命令查看启动状态,成功开启如下Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING E_M 00:00:00 00:00:03 EXTRACT ABENDED P_M 00:00:00 02:50:50 目标端开启mgr、r_m进程start mgr start r_m使用info all命令查看启动状态,成功如下突然间遇到问题:投递进程会异常中断,解决后再补充剩下的
2019年10月06日
514 阅读
2019-10-05
win10安装Oracle数据库11gR2提示环境不满足最低要求问题
解决办法编辑\database\stage\cvu\cvu_prereq.xml文件,在CERTIFIED_SYSTEMS节点添加以下内容,如果是32位则将64-bit改为32-bit<OPERATING_SYSTEM RELEASE="6.2"> <VERSION VALUE="3"/> <ARCHITECTURE VALUE="64-bit"/> <NAME VALUE="Windows 10"/> <ENV_VAR_LIST> <ENV_VAR NAME="PATH" MAX_LENGTH="1023" /> </ENV_VAR_LIST> </OPERATING_SYSTEM>
2019年10月05日
156 阅读
2019-10-05
Centos7通过rpm包安装MySQL5.6.45
卸载自带的Mariadb数据库 输入命令rpm -qa | grep mariadb查看是否已经安装Mariadb,如果已经安装,则显示如下mariadb-libs-5.5.60-1.el7_5.x86_64需要卸载才能继续安装mysql5.5。输入rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64进行卸载 下载rpm安装包 访问网址https://dev.mysql.com/downloads/mysql/,选择操作系统版本,下载rpm安装包MySQL-5.6.45-1.el7.x86_64.rpm-bundle.tar,或者使用wget进行下载安装mysql5.6.45 将安装包下载到指定文件夹,输入命令解压文件tar -xvf MySQL-5.6.45-1.el7.x86_64.rpm-bundle.tar,解压出如下文件MySQL-shared-compat-5.6.45-1.el7.x86_64.rpm MySQL-test-5.6.45-1.el7.x86_64.rpm MySQL-server-5.6.45-1.el7.x86_64.rpm MySQL-client-5.6.45-1.el7.x86_64.rpm MySQL-embedded-5.6.45-1.el7.x86_64.rpm MySQL-devel-5.6.45-1.el7.x86_64.rpm MySQL-shared-5.6.45-1.el7.x86_64.rpm输入yum install MySQL-{server,client}-*安装MySQL服务端和客户端,其他按需安装配置mysql 启动服务service mysql start安装成功后,会自动生成一个root用户的随机密码,位于/root/.mysql_secret文件里面,可以通过该密码登录mysql重置root密码。除此之外,可以运行/usr/bin/mysql_secure_installation并输入生成随机密码进行初始化工作。
2019年10月05日
306 阅读
2019-09-20
Win7/10安装zip版本MySQL8.0数据库方法
到官网mysql8.0下载zip文件,解压到指定目录配置系统环境变量到bin目录下在根目录下创建my.ini文件,并输入配置信息[mysqld] # 服务端端口 port=3306 # mysql安装路径 basedir=F:\webserver\mysql8.0 # mysql数据库存储路径 datadir=F:\webserver\mysql8.0\data # 最大连接数 max_connections=200 # 错误数量 max_connect_errors=10 # 服务端字符编码 character-set-server=utf8 # 数据库引擎 default-storage-engine=INNODB # 验证方式 default_authentication_plugin=mysql_native_password #运行模式 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #log-bin=mysql-bin #log-bin = "E:\mysql\logbin.log" # 自定义目录,日志保存路径 #log-bin-index = "E:\mysql\logindex.index" # 自定义目录,日志保存路径 #log-bin=ON #log_bin=D:\webserver\mysql_bin_log\log-bin #binlog_cache_size=32m #max_binlog_cache_size=512m #max_binlog_size=512m # binary logging format - mixed recommended #binlog_format=mixed #OGG同步必须指定日志为row #binlog_format=row # The maximum amount of concurrent sessions the MySQL server will # allow. One of these connections will be reserved for a user with # SUPER privileges to allow the administrator to login even if the # connection limit has been reached. [mysql] # 客户端字符编码 default-character-set=utf8 [client] # 客户端端口 port=3306 default-character-set=utf8打开cmd命令行,输入mysqld --initialize --console进行初始化,记住生成的随机密码。如果不需要生成生成随机密码,将--initialize参数改为--initialize-insecure安装mysql系统服务,输入命令mysqld install ,如果需要安装特殊的服务名,例如mysql8,则输入mysqld install mysql8进行安装启动服务,输入命令net start mysql 进行启动登录mysql,如果使用安全模式则输入mysql -uroot -p ,接着输入随机密码,如果使用非安全模式则输入mysql -uroot -p --skip-password进行连接更改初始密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
2019年09月20日
267 阅读
2019-09-20
MySQL连接查询使用count函数计算总数不正确
使用左连接查询数据,在查询字段的前面加上DISTINCT关键字,例子如下SELECT COUNT(DISTINCT x_client.client_id) AS `numrows` FROM (`x_client`) LEFT JOIN `x_client_agent` ON `x_client_agent`.`client_id` = `x_client`.`client_id` WHERE ( x_client.client_code LIKE '%王小卓%' OR x_client.real_phone LIKE '%王小卓%' OR x_client. NAME LIKE '%王小卓%' OR x_client.real_name LIKE '%王小卓%' ) AND `x_client`.`user_id` = '123'
2019年09月20日
266 阅读
1
2
3