{"id":19831184,"url":"https://github.com/reactive-stack-js/reactive-stack-js-mysql-poc","last_synced_at":"2026-05-06T04:33:03.140Z","repository":{"id":128837018,"uuid":"313232720","full_name":"reactive-stack-js/reactive-stack-js-mysql-poc","owner":"reactive-stack-js","description":"reactive-stack-js mysql poc","archived":false,"fork":false,"pushed_at":"2020-12-01T16:03:35.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-27T11:13:18.141Z","etag":null,"topics":["mysql","nodejs","reactive-stack-js"],"latest_commit_sha":null,"homepage":"https://reactive-stack-js.github.io/reactive-stack-js-mysql-poc/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reactive-stack-js.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-16T08:15:30.000Z","updated_at":"2020-12-01T16:03:38.000Z","dependencies_parsed_at":"2023-04-16T07:48:38.373Z","dependency_job_id":null,"html_url":"https://github.com/reactive-stack-js/reactive-stack-js-mysql-poc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/reactive-stack-js/reactive-stack-js-mysql-poc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-stack-js%2Freactive-stack-js-mysql-poc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-stack-js%2Freactive-stack-js-mysql-poc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-stack-js%2Freactive-stack-js-mysql-poc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-stack-js%2Freactive-stack-js-mysql-poc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reactive-stack-js","download_url":"https://codeload.github.com/reactive-stack-js/reactive-stack-js-mysql-poc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-stack-js%2Freactive-stack-js-mysql-poc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32678622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T02:33:58.958Z","status":"ssl_error","status_checked_at":"2026-05-06T02:33:39.611Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mysql","nodejs","reactive-stack-js"],"created_at":"2024-11-12T11:29:02.946Z","updated_at":"2026-05-06T04:33:03.119Z","avatar_url":"https://github.com/reactive-stack-js.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![reactive-stack-js](https://avatars0.githubusercontent.com/u/72337471?s=75)\n## reactive-stack-js-mysql-poc\n\nSee [reactive-stack-js](https://github.com/reactive-stack-js) for more info.\n\nThis is a MySQL Change Data Capture (CDC) POC for those who may want to use MySQL instead of MongoDB, which is used in all reactive-stack-js packages.\n\nIn this POC, I am using [Docker](https://www.docker.com/) to run MySQL because... well, why not?\n\nYou can, of course, still use your own MySQL installation instead. Just skip all the Docker stuff below.\n\n### Requirements\nWell, [Docker](https://www.docker.com/).\n\nAnd [NodeJS](https://nodejs.org/)\n\n### Docker stuff\n\nPull the mysql image:\n```cmd\ndocker pull mysql\n```\n\nStart the mysql container:\n```cmd\ndocker run -p 3306:3306 -v C:/git/github/reactive-stack-js-mysql-poc/mysqlconf:/etc/mysql/conf.d -v C:/git/github/reactive-stack-js-mysql-poc/mysqlvolume:/var/lib/mysql --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql\n```\n\n__NOTE__: _Replace ```C:/git/github/reactive-stack-js-mysql-poc/``` with your folder path._\n\nAt this point, you can use your prefered MySQL GUI, like [HeidiSQL](https://www.heidisql.com/) for example.\n\nOr you can use the console:\n```cmd\ndocker exec -it mysql bash\n```\nThen:\n```mysql\nmysql -u root -p db2mirror\n```\nAnd use the password ```root```, or whatever you specified in the docker run command.\n\n__NOTE__: _You will have to create db2mirror once, of course._\n\nRun the following MySQL commands:\n```mysql\nCREATE USER 'root' IDENTIFIED BY 'root';\nALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'root';\nflush privileges;\n\nGRANT REPLICATION SLAVE ON *.* TO 'root';\n\nCREATE DATABASE `db2mirror`;\n\nCREATE TABLE `glob_locks` (\n\t`GLOB_LOCK_ID` INT(11) NOT NULL,\n\t`RES_NAME` VARCHAR(128),\n\t`MESSAGE` MEDIUMTEXT,\n\tPRIMARY KEY (`GLOB_LOCK_ID`) USING BTREE\n);\n```\n\nSince we are mounting the volume in the above Docker run command, the above MySQL commands only need to be executed once.\n\n### MySQL CDC\n```cmd\nyarn cdc\n```\nor\n```cmd\nnode mysql.js\n```\nThen do something in your MySQL instance, create, modify or delete a row and you will see messages like those listed in the [out.mysql.events](out.mysql.events) file.\n\nEnjoy :)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freactive-stack-js%2Freactive-stack-js-mysql-poc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freactive-stack-js%2Freactive-stack-js-mysql-poc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freactive-stack-js%2Freactive-stack-js-mysql-poc/lists"}