{"id":2538,"date":"2019-01-09T19:50:41","date_gmt":"2019-01-09T10:50:41","guid":{"rendered":"https:\/\/column.prime-strategy.co.jp\/?p=2538"},"modified":"2019-01-09T19:50:41","modified_gmt":"2019-01-09T10:50:41","slug":"kusanagi%e3%81%a7mysql8%e3%81%aeinnodb-cluster%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86%ef%bc%88%e5%ae%ae%e5%b4%8e%e6%82%9f%e6%b0%8f%ef%bc%89","status":"publish","type":"post","link":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538","title":{"rendered":"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09"},"content":{"rendered":"\nKUSANAGI\u306fDB\u3068\u3057\u3066\u3001MariaDB10.x\u3068Postgresql\u3092\u7528\u610f\u3057\u3066\u3044\u307e\u3059\u3002\u901a\u5e38\u30af\u30e9\u30b9\u30bf\u3092\u7d44\u3080\u3068\u304d\u306fGalera Cluster\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u4eca\u56de\u306f\u3001MySQL8+InnoDB Cluster+MySQL Router \u306e\u7d44\u307f\u5408\u308f\u305b\u3067WordPress\u304c\u4f7f\u7528\u3067\u304d\u308b\u304b\u3001\u8a66\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Vagrant_%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%AE%E4%BD%9C%E6%88%90\"><\/span>Vagrant \u30a4\u30e1\u30fc\u30b8\u306e\u4f5c\u6210<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\nInnoDB \u30af\u30e9\u30b9\u30bf\u306fDB\u304c3\u53f0\u5fc5\u8981\u3067\u3059\u30021\u53f0\u306fWordPress\u7528\u9014\u5171\u7528\u3059\u308b\u3068\u3057\u3066\u30012\u53f0\u5206\u3092\u7528\u610f\u3057\u307e\u3059\u3002\n\n\n\n\u4eca\u56de\u306fVagrant\u306eKUSANAGI\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002mysql1( 192.168.33.17)\u3001mysql2(192.168.33.16)\u3092\u7528\u610f\u3057\u307e\u3059\u304c\u3001shell \u3067\u8d77\u52d5\u3059\u308b\u90e8\u5206\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u66f8\u3044\u3066\u304f\u3060\u3055\u3044\u3002DBROOTPASS\u306f\u5168\u4f53\u3067\u5171\u901a\u3068\u3057\u3066\u3044\u307e\u3059\u3002mysql2\u3067\u306f\u3001\u30db\u30b9\u30c8\u540d(mysql1)\u306e\u90e8\u5206\u3092mysql2\u306b\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n\n\nshell script\u5185\u3067\u3001MariaDB\u3092\u524a\u9664\u3057\u3066\u3001mysql8 \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068root\u6a29\u9650\u30e6\u30fc\u30b6\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30ebmy.cnf\u3078\u3001\u300cdefault_authentication_plugin=mysql_native_password\u300d\u3067\u3001default\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092mysql5.x \u4e92\u63db\u306b\u3057\u3066\u3044\u308b\u3053\u3068\u3082\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002\n\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">  config.vm.provision \"shell\", inline: &lt;&lt;-SHELL\n    DBROOTPASS=\"8F3.xFh7oigys\"\n    sudo yum clean all\n    sudo yum -y --enablerepo=remi,remi-php56 update  2>&amp;1 > \/dev\/null\n    sudo yum erase -y MariaDB-server MariaDB-common MariaDB-client MariaDB-devel MariaDB-shared\n    sudo rm -rf \/var\/lib\/mysql\n    sudo yum install -y https:\/\/dev.mysql.com\/get\/mysql80-community-release-el7-1.noarch.rpm\n    sudo yum install -y mysql-community-server\n    echo default_authentication_plugin=mysql_native_password | sudo tee -a \/etc\/my.cnf\n    sudo hostname mysql1\n    echo mysql1 | sudo tee \/etc\/hostname\n    echo 192.168.33.18 kusanagi71 | sudo tee -a \/etc\/hosts\n    echo 192.168.33.17 mysql1 | sudo tee -a \/etc\/hosts\n    echo 192.168.33.16 mysql2 | sudo tee -a \/etc\/hosts\n    sudo systemctl start mysqld\n    OLDPASS=$(grep 'temporary password' \/var\/log\/mysqld.log|awk '{print $13}')\n    echo \"ALTER USER root@localhost IDENTIFIED BY '$DBROOTPASS'\" | mysql -uroot -p\"$OLDPASS\" --connect-expired-password\n    echo \"CREATE USER 'root'@'192.168.33.%' IDENTIFIED BY '$DBROOTPASS'\" | mysql -uroot -p\"$DBROOTPASS\"\n    echo \"GRANT ALL on *.* TO 'root'@'192.168.33.%' WITH GRANT OPTION\" | mysql -uroot -p\"$DBROOTPASS\"\n  SHELL<\/pre>\n\n\n\n\nWordPress\u3092\u8d77\u52d5\u3059\u308bkusanagi71(192.168.33.18)\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002\u3053\u3053\u3067\u3001kusanagi provision \u307e\u3067\u6e08\u307e\u305b\u3066\u304a\u304d\u307e\u3059\u3002\n\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">  config.vm.provision \"shell\", inline: &lt;&lt;-SHELL\n    DBROOTPASS=\"8F3.xFh7oigys\"\n    MKPASSWD=\/usr\/bin\/mkpasswd\n    FQDN=kusanagi.local\n    KUSANAGI_PASS=$($MKPASSWD -l 20)\n    DBNAME=$($MKPASSWD -l 10 -s 0)\n    DBUSER=$($MKPASSWD -l 10 -s 0)\n    DBPASS=%$($MKPASSWD -l 20 -s 0)\n    ADMINUSER=$($MKPASSWD -l 10 -s 0)\n    ADMINPASS=$($MKPASSWD -l 20 -s 0)\n    ADMINMAIL=\"${ADMINUSER}@${FQDN}\"\n    PROF=kusanagi\n    export LC_ALL=C\n\n    #sudo yum clean all\n    sudo yum -y --enablerepo=remi,remi-php56 update  2>&amp;1 > \/dev\/null\n    yes y | sudo kusanagi init --tz tokyo --lang en --keyboard en --passwd ${KUSANAGI_PASS} \\\n     --nophrase --dbrootpass ${DBROOTPASS} \\\n     --nginx --php7 --dbsystem mariadb --ruby24\n    sudo kusanagi provision --wordpress --wplang ja --fqdn $FQDN --no-email \\\n     --dbname $DBNAME --dbuser $DBUSER --dbpass $DBPASS $PROF\n\n    sudo yum erase -y MariaDB-server MariaDB-common MariaDB-client MariaDB-devel MariaDB-shared\n    sudo rm -rf \/var\/lib\/mysql\n    sudo yum install -y https:\/\/dev.mysql.com\/get\/mysql80-community-release-el7-1.noarch.rpm\n    sudo yum install -y mysql-community-server\n    echo default_authentication_plugin=mysql_native_password | sudo tee -a \/etc\/my.cnf\n    echo 192.168.33.18 kusanagi71 | sudo tee -a \/etc\/hosts\n    echo 192.168.33.17 mysql1 | sudo tee -a \/etc\/hosts\n    echo 192.168.33.16 mysql2 | sudo tee -a \/etc\/hosts\n    sudo systemctl start mysqld\n    OLDPASS=$(grep 'temporary password' \/var\/log\/mysqld.log|awk '{print $13}')\n    echo \"ALTER USER root@localhost IDENTIFIED BY '$DBROOTPASS'\" | mysql -uroot -p\"$OLDPASS\" --connect-expired-password\n    echo \"CREATE USER 'root'@'192.168.33.%' IDENTIFIED BY '$DBROOTPASS'\" | mysql -uroot -p\"$DBROOTPASS\"\n    echo \"GRANT ALL on *.* TO 'root'@'192.168.33.%' WITH GRANT OPTION\" | mysql -uroot -p\"$DBROOTPASS\"\n    sudo yum install -y mysql-shell\n\n    echo DBROOTPASS=\\\"$DBROOTPASS\\\" >> pass\n    echo KUSANAGI_PASS=\\\"$KUSANAGI_PASS\\\" >> pass\n    echo DBNAME=$DBNAME >> pass\n    echo DBUSER=$DBUSER >> pass\n    echo DBPASS=\\\"$DBPASS\\\" >> pass\n    echo FQDN=$FQDN >> pass\n    echo PROF=$PROF >> pass\n    echo ADMINUSER=$ADMINUSER >> pass\n    echo ADMINPASS=$ADMINPASS >> pass\n    echo ADMINMAIL=$ADMINMAIL >> pass\n  SHELL<\/pre>\n\n\n\n\n3\u53f0\u5206\u306eVagrant\u30a4\u30e1\u30fc\u30b8\u3092\u3001\u305d\u308c\u305e\u308cvagrant.exe up \u3067\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"InnoDB_Cluster%E3%81%AE%E4%BD%9C%E6%88%90\"><\/span>InnoDB Cluster\u306e\u4f5c\u6210<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\nWordPress\u3092\u8d77\u52d5\u3059\u308bkusanagi71\u3067\u3001\u4ee5\u964d\u306e\u4f5c\u696d\u3092\u5b9f\u65bd\u3057\u307e\u3059\u3002\n\n\n\n\u307e\u305amysqlsh \u3067\u3001\u5404DB\u306e\u8a2d\u5b9a\u3092\u30af\u30e9\u30b9\u30bf\u7528\u306b\u5909\u66f4\u3057\u307e\u3059\u3002\n\n\n\ndba.checkInstanceConfiguration()\u3067\u78ba\u8a8d\u5f8c\u3001dba.configureInstance()\u30673\u53f0\u306eDB\u3092\u521d\u671f\u5316\u3057\u3066\u3044\u307e\u3059\u3002password\u3092\u805e\u304b\u308c\u307e\u3059\u304c\u3001\u3059\u3079\u3066\u5909\u6570DBPASSWD\u306b\u6307\u5b9a\u3057\u305f\u5024\u3092\u5165\u529b(\u30da\u30fc\u30b9\u30c8)\u3057\u3066\u304f\u3060\u3055\u3044\u3002Vagrant\u3067\u3001\u8a2d\u5b9a\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u300cpass\u300d\u30d5\u30a1\u30a4\u30eb\u306b\u8a18\u8ff0\u3057\u3066\u3044\u308b\u306e\u3067\u3001source\u3067\u8aad\u307f\u8fbc\u3093\u3067\u304a\u304d\u307e\u3059\u3002\n\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">$ source pass\n$ echo $DBROOTPASS\n8F3.xFh7oigys\n$ mysqlsh\nMySQL Shell 8.0.13\n\nCopyright (c) 2016, 2018, Oracle and\/or its affiliates. All rights reserved.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType '\\help' or '\\?' for help; '\\quit' to exit.\n\n\n MySQL  JS > dba.checkInstanceConfiguration('root@192.168.33.18')\nPlease provide the password for 'root@192.168.33.18': *********************\nSave password for 'root@192.168.33.18'? [Y]es\/[N]o\/Ne[v]er (default No):\nValidating local MySQL instance listening at port 3306 for use in an InnoDB cluster...\n\nThis instance reports its own address as kusanagi71\nClients and other cluster members will communicate with it through this address by default. If this is not correct, the report_host MySQL system\n variable should be changed.\n\nChecking whether existing tables comply with Group Replication requirements...\nNo incompatible tables detected\n\nChecking instance configuration...\n\nSome configuration options need to be fixed:\n+--------------------------+---------------+----------------+--------------------------------------------------+\n| Variable                 | Current Value | Required Value | Note                                             |\n+--------------------------+---------------+----------------+--------------------------------------------------+\n| binlog_checksum          | CRC32         | NONE           | Update the server variable                       |\n| enforce_gtid_consistency | OFF           | ON             | Update read-only variable and restart the server |\n| gtid_mode                | OFF           | ON             | Update read-only variable and restart the server |\n| server_id                | 1             | &lt;unique ID>    | Update read-only variable and restart the server |\n+--------------------------+---------------+----------------+--------------------------------------------------+\n\nPlease use the dba.configureInstance() command to repair these issues.\n\n{\n    \"config_errors\": [\n        {\n            \"action\": \"server_update\",\n            \"current\": \"CRC32\",\n            \"option\": \"binlog_checksum\",\n            \"required\": \"NONE\"\n        },\n        {\n            \"action\": \"restart\",\n            \"current\": \"OFF\",\n            \"option\": \"enforce_gtid_consistency\",\n            \"required\": \"ON\"\n        },\n        {\n            \"action\": \"restart\",\n            \"current\": \"OFF\",\n            \"option\": \"gtid_mode\",\n            \"required\": \"ON\"\n        },\n        {\n            \"action\": \"restart\",\n            \"current\": \"1\",\n            \"option\": \"server_id\",\n            \"required\": \"&lt;unique ID>\"\n        }\n    ],\n    \"errors\": [],\n    \"status\": \"error\"\n}\n\n MySQL  JS > dba.configureInstance('root@192.168.33.18')\nPlease provide the password for 'root@192.168.33.18': *********************\nSave password for 'root@192.168.33.18'? [Y]es\/[N]o\/Ne[v]er (default No):\nConfiguring local MySQL instance listening at port 3306 for use in an InnoDB cluster...\n\nThis instance reports its own address as kusanagi71\nClients and other cluster members will communicate with it through this address by default. If this is not correct, the report_host MySQL system\n variable should be changed.\n\nSome configuration options need to be fixed:\n+--------------------------+---------------+----------------+--------------------------------------------------+\n| Variable                 | Current Value | Required Value | Note                                             |\n+--------------------------+---------------+----------------+--------------------------------------------------+\n| binlog_checksum          | CRC32         | NONE           | Update the server variable                       |\n| enforce_gtid_consistency | OFF           | ON             | Update read-only variable and restart the server |\n| gtid_mode                | OFF           | ON             | Update read-only variable and restart the server |\n| server_id                | 1             | &lt;unique ID>    | Update read-only variable and restart the server |\n+--------------------------+---------------+----------------+--------------------------------------------------+\n\nDo you want to perform the required configuration changes? [y\/n]: y\nDo you want to restart the instance after configuring it? [y\/n]: y\nConfiguring instance...\nThe instance '192.168.33.18:3306' was configured for cluster usage.\nRestarting MySQL...\nMySQL server at 192.168.33.18:3306 was restarted.\n\n MySQL  JS > dba.configureInstance('root@192.168.33.17')\nPlease provide the password for 'root@192.168.33.17': *********************\nSave password for 'root@192.168.33.17'? [Y]es\/[N]o\/Ne[v]er (default No): y\nConfiguring MySQL instance at 192.168.33.17:3306 for use in an InnoDB cluster...\n\nThis instance reports its own address as kusanagi71\nClients and other cluster members will communicate with it through this address by default. If this is not correct, the report_host MySQL system\n variable should be changed.\n\nSome configuration options need to be fixed:\n+--------------------------+---------------+----------------+--------------------------------------------------+\n| Variable                 | Current Value | Required Value | Note                                             |\n+--------------------------+---------------+----------------+--------------------------------------------------+\n| binlog_checksum          | CRC32         | NONE           | Update the server variable                       |\n| enforce_gtid_consistency | OFF           | ON             | Update read-only variable and restart the server |\n| gtid_mode                | OFF           | ON             | Update read-only variable and restart the server |\n| server_id                | 1             | &lt;unique ID>    | Update read-only variable and restart the server |\n+--------------------------+---------------+----------------+--------------------------------------------------+\n\nDo you want to perform the required configuration changes? [y\/n]: y\nDo you want to restart the instance after configuring it? [y\/n]: y\nConfiguring instance...\nThe instance '192.168.33.17:3306' was configured for cluster usage.\nRestarting MySQL...\nMySQL server at 192.168.33.17:3306 was restarted.\n\n MySQL  JS > dba.configureInstance('root@192.168.33.16')\nPlease provide the password for 'root@192.168.33.16': *********************\nSave password for 'root@192.168.33.16'? [Y]es\/[N]o\/Ne[v]er (default No): y\nConfiguring MySQL instance at 192.168.33.16:3306 for use in an InnoDB cluster...\n\nThis instance reports its own address as kusanagi71\nClients and other cluster members will communicate with it through this address by default. If this is not correct, the report_host MySQL system\n variable should be changed.\n\nSome configuration options need to be fixed:\n+--------------------------+---------------+----------------+--------------------------------------------------+\n| Variable                 | Current Value | Required Value | Note                                             |\n+--------------------------+---------------+----------------+--------------------------------------------------+\n| binlog_checksum          | CRC32         | NONE           | Update the server variable                       |\n| enforce_gtid_consistency | OFF           | ON             | Update read-only variable and restart the server |\n| gtid_mode                | OFF           | ON             | Update read-only variable and restart the server |\n| server_id                | 1             | &lt;unique ID>    | Update read-only variable and restart the server |\n+--------------------------+---------------+----------------+--------------------------------------------------+\n\nDo you want to perform the required configuration changes? [y\/n]: y\nDo you want to restart the instance after configuring it? [y\/n]: y\nConfiguring instance...\nThe instance '192.168.33.16:3306' was configured for cluster usage.\nRestarting MySQL...\nMySQL server at 192.168.33.16:3306 was restarted.<\/pre>\n\n\n\n\n\u6b21\u306b\u3001\u30af\u30e9\u30b9\u30bf\u3092\u751f\u6210\u3057\u307e\u3059\u3002\n\n\n\nroot@192.168.33.18 \u306b\u63a5\u7d9a\u5f8c\u3001dba.createCluster()\u3067\u30af\u30e9\u30b9\u30bf\u4f5c\u6210\u5f8c\u3001cluster.addInstance()\u3067\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u3053\u306e\u3068\u304d\u3001\u6700\u521d\u306b\u4f5c\u6210\u3057\u305f192.168.33.18\u304cPRIMARY(RW\u53ef\u80fd\u306a\u30ce\u30fc\u30c9)\u3068\u306a\u308a\u3001192.168.33.17\u3001192.168.33.16\u304creadReplicas(RO\u30ce\u30fc\u30c9)\u3068\u306a\u308a\u307e\u3059\u3002\u4f5c\u6210\u3057\u305f\u6642\u70b9\u3067\u306fReplica\u5074\u306estatus\u304c\u300cRECOVERING\u300d\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u3057\u3070\u3089\u304f\u3059\u308b\u3068\u540c\u671f\u5b8c\u4e86\u3057\u3066\u300cONLINE\u300d\u3068\u306a\u308a\u307e\u3059\u3002\n\n\n\n\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3057\u305f\u3089\u3001Ctrl-D\u3092\u62bc\u3057\u3066mysqlsh \u3092\u629c\u3051\u307e\u3059\u3002\n\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\"> MySQL  JS > \\c root@192.168.33.18\nCreating a session to 'root@192.168.33.18'\nPlease provide the password for 'root@192.168.33.18': *********************\nSave password for 'root@192.168.33.18'? [Y]es\/[N]o\/Ne[v]er (default No):\nFetching schema names for autocompletion... Press ^C to stop.\nYour MySQL connection id is 8 (X protocol)\nServer version: 8.0.13 MySQL Community Server - GPL\nNo default schema selected; type \\use &lt;schema> to set one.\n\n MySQL  192.168.33.18:33060+ ssl  JS > cluster = dba.createCluster('mycluster')\nA new InnoDB cluster will be created on instance 'root@192.168.33.18:3306'.\n\nValidating instance at 192.168.33.18:3306...\n\nThis instance reports its own address as kusanagi71\n\nInstance configuration is suitable.\nCreating InnoDB cluster 'mycluster' on 'root@192.168.33.18:3306'...\nAdding Seed Instance...\n\nCluster successfully created. Use Cluster.addInstance() to add MySQL instances.\nAt least 3 instances are needed for the cluster to be able to withstand up to\none server failure.\n\n&lt;Cluster:mycluster>\n\n MySQL  192.168.33.18:33060+ ssl  JS > cluster.addInstance('root@192.168.33.17')\nA new instance will be added to the InnoDB cluster. Depending on the amount of\ndata on the cluster this might take from a few seconds to several hours.\n\nAdding instance to the cluster ...\n\nValidating instance at 192.168.33.17:3306...\n\nThis instance reports its own address as kusanagi71\n\nInstance configuration is suitable.\nThe instance 'root@192.168.33.17' was successfully added to the cluster.\n\n\n MySQL  192.168.33.18:33060+ ssl  JS > cluster.addInstance('root@192.168.33.16')\nA new instance will be added to the InnoDB cluster. Depending on the amount of\ndata on the cluster this might take from a few seconds to several hours.\n\nAdding instance to the cluster ...\n\nValidating instance at 192.168.33.16:3306...\n\nThis instance reports its own address as kusanagi71\n\nInstance configuration is suitable.\nThe instance 'root@192.168.33.16' was successfully added to the cluster.\n\n MySQL  192.168.33.18:33060+ ssl  JS > cluster.status()\n{\n    \"clusterName\": \"mycluster\",\n    \"defaultReplicaSet\": {\n        \"name\": \"default\",\n        \"primary\": \"192.168.33.18:3306\",\n        \"ssl\": \"REQUIRED\",\n        \"status\": \"OK_NO_TOLERANCE\",\n        \"statusText\": \"Cluster is NOT tolerant to any failures. 2 members are not active\",\n        \"topology\": {\n            \"192.168.33.16:3306\": {\n                \"address\": \"192.168.33.16:3306\",\n                \"mode\": \"R\/O\",\n                \"readReplicas\": {},\n                \"role\": \"HA\",\n                \"status\": \"RECOVERING\"\n            },\n            \"192.168.33.17:3306\": {\n                \"address\": \"192.168.33.17:3306\",\n                \"mode\": \"R\/O\",\n                \"readReplicas\": {},\n                \"role\": \"HA\",\n                \"status\": \"RECOVERING\"\n            },\n            \"192.168.33.18:3306\": {\n                \"address\": \"192.168.33.18:3306\",\n                \"mode\": \"R\/W\",\n                \"readReplicas\": {},\n                \"role\": \"HA\",\n                \"status\": \"ONLINE\"\n            }\n        }\n    },\n    \"groupInformationSourceMember\": \"mysql:\/\/root@192.168.33.18:3306\"\n}\n\n\n MySQL  192.168.33.18:33060+ ssl  JS >  cluster.status()\n{\n    \"clusterName\": \"mycluster\",\n    \"defaultReplicaSet\": {\n        \"name\": \"default\",\n        \"primary\": \"192.168.33.18:3306\",\n        \"ssl\": \"REQUIRED\",\n        \"status\": \"OK\",\n        \"statusText\": \"Cluster is ONLINE and can tolerate up to ONE failure.\",\n        \"topology\": {\n            \"192.168.33.16:3306\": {\n                \"address\": \"192.168.33.16:3306\",\n                \"mode\": \"R\/O\",\n                \"readReplicas\": {},\n                \"role\": \"HA\",\n                \"status\": \"ONLINE\"\n            },\n            \"192.168.33.17:3306\": {\n                \"address\": \"192.168.33.17:3306\",\n                \"mode\": \"R\/O\",\n                \"readReplicas\": {},\n                \"role\": \"HA\",\n                \"status\": \"ONLINE\"\n            },\n            \"192.168.33.18:3306\": {\n                \"address\": \"192.168.33.18:3306\",\n                \"mode\": \"R\/W\",\n                \"readReplicas\": {},\n                \"role\": \"HA\",\n                \"status\": \"ONLINE\"\n            }\n        }\n    },\n    \"groupInformationSourceMember\": \"mysql:\/\/root@192.168.33.18:3306\"\n}\n\n\n MySQL  192.168.33.18:33060+ ssl  JS >\nBye!<\/pre>\n\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"MySQL_Router_%E3%81%AE%E8%A8%AD%E5%AE%9A\"><\/span>MySQL Router \u306e\u8a2d\u5b9a<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\nMySQL InnoDB Cluster\u306f\u3001MySQL Router\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u81ea\u52d5\u7684\u306bRW\u304a\u3088\u3073RO\u306e\u5165\u529b\u3092\u5206\u6563\u3057\u3066\u63a5\u7d9a\u3057\u307e\u3059\u3002\n\n\n\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u3001mysql-router\u3092\u4f5c\u6210\u3057\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">$ sudo yum install -y mysql-router\n$ sudo mysqlrouter --bootstrap 'root'@'192.168.33.18':3306 --user=mysqlrouter\nPlease enter MySQL password for root:\n\nBootstrapping system MySQL Router instance...\nChecking for old Router accounts\nCreating account mysql_router1_ltuti33keoyl@'%'\nMySQL Router  has now been configured for the InnoDB cluster 'mycluster'.\n\nThe following connection information can be used to connect to the cluster after MySQL Router has been started with generated configuration..\n\nClassic MySQL protocol connections to cluster 'mycluster':\n- Read\/Write Connections: localhost:6446\n- Read\/Only Connections: localhost:6447\nX protocol connections to cluster 'mycluster':\n- Read\/Write Connections: localhost:64460\n- Read\/Only Connections: localhost:64470\n\n\n$ sudo systemctl enable mysqlrouter\n$ sudo systemctl start mysqlrouter\n$ systemctl status mysqlrouter\n* mysqlrouter.service - MySQL Router\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/mysqlrouter.service; enabled; vendor preset: disabled)\n   Active: active (running) since Sun 2019-01-06 17:46:29 JST; 4s ago\n Main PID: 32433 (main)\n   CGroup: \/system.slice\/mysqlrouter.service\n           `-32433 \/usr\/bin\/mysqlrouter -c \/etc\/mysqlrouter\/mysqlrouter.conf<\/pre>\n\n\n\n\n\u3053\u308c\u3067\u3001R\/W\u63a5\u7d9a\u306f\u3001192.168.33.18\u3082\u3057\u304f\u306flocalhost\u306e6446\u756a\u30dd\u30fc\u30c8\u3001RO\u63a5\u7d9a\u306f6447\u756a\u30dd\u30fc\u30c8\u3067\u884c\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"WordPress%E3%81%AE%E8%A8%AD%E5%AE%9A\"><\/span>WordPress\u306e\u8a2d\u5b9a<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\nKUSANAGI \u306eprovision\u307e\u3067\u306f\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u304c\u3001DB\u3092\u524a\u9664\u3057\u305f\u306e\u3067\u518d\u4f5c\u6210\u3057\u307e\u3059\u3002\n\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">$ echo \"CREATE DATABASE IF NOT EXISTS \\`$DBNAME\\`\" | mysql -uroot -p\"$DBROOTPASS\" -P6446\n$ echo \"create user '$DBUSER'@'$HOSTNAME' IDENTIFIED BY '$DBPASS'\" | mysql -uroot -p\"$DBROOTPASS\" -P6446\n$ echo \"GRANT ALL PRIVILEGES ON \\`$DBNAME\\`.* TO '$DBUSER'@'$HOSTNAME'\" | mysql -uroot -p\"$DBROOTPASS\" -P6446<\/pre>\n\n\n\n\n\u3053\u308c\u3067\u3001DB\u306e\u4f5c\u6210\u3068\u30e6\u30fc\u30b6\u8a2d\u5b9a\u304c\u3067\u304d\u305f\u306e\u3067\u3001WordPress\u306e\u8a2d\u5b9a\u3092wp\u30b3\u30de\u30f3\u30c9\u3067\u884c\u3044\u307e\u3059\u3002\u3053\u3053\u3067\u6c17\u3092\u3064\u3051\u306a\u3044\u3068\u3044\u3051\u306a\u3044\u306e\u306f\u3001\u901a\u5e38wp\u30b3\u30de\u30f3\u30c9\u306fphp-5.6\u3067\u5b9f\u884c\u3055\u308c\u308b\u306e\u3067\u3001php7 \u3092\u6307\u5b9a\u3057\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">$ sudo -u kusanagi -- php7 \/usr\/local\/bin\/wp core config --dbhost=localhost:6446 \\\n --dbname=${DBNAME} --db--dbuser=$DBUSER --dbpass=$DBPASS --dbcharset=utf-8mb4 \\\n --extra-php --path=\/home\/kusanagi\/${PROF}\/DocumentRoot \\\n &lt; \/usr\/lib\/kusanagi\/resource\/wp-config-sample\/ja\/wp-config-extra.php\n$ sudo -u kusanagi -- php7 \/usr\/local\/bin\/wp core install --url=http:\/\/${FQDN}\/ \\\n --title=test --admin_user=$ADMINUSER --admin_password=$ADMINPASS \\\n --admin_email=$ADMINMAIL --path=\/home\/kusanagi\/${PROF}\/DocumentRoot<\/pre>\n\n\n\n\n\u3053\u308c\u3067\u3001hosts\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u306b \u300ckusanagi.local  192.168.33.18\u300d\u3068\u8a18\u8ff0\u3057\u3066\u304b\u3089\u3001Web\u30d6\u30e9\u30a6\u30b6\u3067\u300chttp:\/\/kusanagi.local\u300d\u3078\u30a2\u30af\u30bb\u30b9\u3059\u308c\u3070\u3001WordPress\u306e\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"WordPress%E3%81%A8MySQL8\"><\/span>WordPress\u3068MySQL8<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\n\u73fe\u5728\u306ePHP7.3\u3067\u306f\u6a19\u6e96\u3067MySQL8\u306e\u8a8d\u8a3c\u5f62\u5f0f\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3053\u3068\u304b\u3089\u3001MySQL8\u306f\u4f7f\u308f\u308c\u308b\u3053\u3068\u304c\u5c11\u306a\u3044\u3067\u3059\u304c\u3001InnoDB\u30af\u30e9\u30b9\u30bf\u306f\u30de\u30eb\u30c1\u30de\u30b9\u30bf\u30fc\u3067\u306f\u306a\u3044\u3082\u306e\u306e\u8aad\u307f\u8fbc\u307f\u304c\u591a\u3044\u6761\u4ef6\u3067\u306fDB\u3092\u5206\u6563\u3057\u3066\u4f7f\u7528\u3067\u304d\u308b\u306e\u3067\u3001\u9762\u767d\u3044\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3060\u3068\u601d\u3044\u307e\u3059\u3002<br>\n\u7ba1\u7406\u8005\u30fb\u7de8\u96c6\u8005\u7528\u306eWordPress\u3067\u306fRW\u7528\u3001\u914d\u4fe1\u5c02\u7528\u306eWordPress\u3067\u306fRO\u7528\u306e\u30dd\u30fc\u30c8\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001DB\u66f8\u304d\u8fbc\u307f\u4e0d\u53ef\u306e\u5805\u7262\u306a\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u8003\u3048\u3089\u308c\u307e\u3059\u3002\u73fe\u5728\u306f\u3001\u4e0a\u8a18\u306e\u3088\u3046\u306b\u624b\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u304c\u3001\u9078\u629e\u80a2\u306e1\u3064\u3068\u3057\u3066\u8003\u3048\u3089\u308c\u308b\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002\n\n\n\n\u3067\u306f\u3001\u6b21\u56de\u3092\u304a\u697d\u3057\u307f\u306b\u3002\n","protected":false},"excerpt":{"rendered":"<p>KUSANAGI\u306fDB\u3068\u3057\u3066\u3001MariaDB10.x\u3068Postgresql\u3092\u7528\u610f\u3057\u3066\u3044\u307e\u3059\u3002\u901a\u5e38\u30af\u30e9\u30b9\u30bf\u3092\u7d44\u3080\u3068\u304d\u306fGalera Clust ... <a title=\"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09\" class=\"read-more\" href=\"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538\" aria-label=\"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09 \u306b\u3064\u3044\u3066\u3055\u3089\u306b\u8aad\u3080\">Read more<\/a><\/p>\n","protected":false},"author":4,"featured_media":2267,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[],"tags":[],"series":[],"journey":[],"product":[],"class_list":["post-2538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33","no-featured-image-padding"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09 - KUSANAGI Tech Column<\/title>\n<meta name=\"description\" content=\"KUSANAGI\u306fDB\u3068\u3057\u3066MariaDB\u3068Postgresql\u3092\u7528\u610f\u3057\u3066\u304a\u308a\u3001MySQL8+InnoDB Cluster+MySQL Router\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u8a66\u3057\u305f\u7d50\u679c\u3001MySQL InnoDB Cluster\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u81ea\u52d5\u7684\u306bRW\u304a\u3088\u3073RO\u306e\u5165\u529b\u3092\u5206\u6563\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3055\u3089\u306b\u3053\u308c\u306b\u3088\u308a\u3001\u901a\u5e38\u306ephp-5.6\u3067\u306a\u304fphp7\u3092\u6307\u5b9a\u3057\u3066WordPress\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u3053\u3068\u3082\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u3001DB\u3092\u5206\u6563\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u6709\u52b9\u306a\u624b\u6bb5\u3068\u3057\u3066\u8a9e\u3089\u308c\u3066\u3044\u307e\u3059\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09 - KUSANAGI Tech Column\" \/>\n<meta property=\"og:description\" content=\"KUSANAGI\u306fDB\u3068\u3057\u3066MariaDB\u3068Postgresql\u3092\u7528\u610f\u3057\u3066\u304a\u308a\u3001MySQL8+InnoDB Cluster+MySQL Router\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u8a66\u3057\u305f\u7d50\u679c\u3001MySQL InnoDB Cluster\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u81ea\u52d5\u7684\u306bRW\u304a\u3088\u3073RO\u306e\u5165\u529b\u3092\u5206\u6563\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3055\u3089\u306b\u3053\u308c\u306b\u3088\u308a\u3001\u901a\u5e38\u306ephp-5.6\u3067\u306a\u304fphp7\u3092\u6307\u5b9a\u3057\u3066WordPress\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u3053\u3068\u3082\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u3001DB\u3092\u5206\u6563\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u6709\u52b9\u306a\u624b\u6bb5\u3068\u3057\u3066\u8a9e\u3089\u308c\u3066\u3044\u307e\u3059\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538\" \/>\n<meta property=\"og:site_name\" content=\"KUSANAGI Tech Column\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-09T10:50:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kusanagi.tokyo\/column\/wp-content\/uploads\/2018\/10\/40532704_1666269333483921_164815835225915392_o.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"624\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"\u5bae\ufa11\u609f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@kusanagi_saya\" \/>\n<meta name=\"twitter:site\" content=\"@kusanagi_saya\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538\"},\"author\":{\"name\":\"\u5bae\ufa11\u609f\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#\\\/schema\\\/person\\\/7a8fcfc4a066442d09c59b1026a7e80a\"},\"headline\":\"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09\",\"datePublished\":\"2019-01-09T10:50:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538\"},\"wordCount\":129,\"publisher\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/wp-content\\\/uploads\\\/2018\\\/10\\\/40532704_1666269333483921_164815835225915392_o.jpg\",\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538\",\"url\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538\",\"name\":\"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09 - KUSANAGI Tech Column\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/wp-content\\\/uploads\\\/2018\\\/10\\\/40532704_1666269333483921_164815835225915392_o.jpg\",\"datePublished\":\"2019-01-09T10:50:41+00:00\",\"description\":\"KUSANAGI\u306fDB\u3068\u3057\u3066MariaDB\u3068Postgresql\u3092\u7528\u610f\u3057\u3066\u304a\u308a\u3001MySQL8+InnoDB Cluster+MySQL Router\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u8a66\u3057\u305f\u7d50\u679c\u3001MySQL InnoDB Cluster\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u81ea\u52d5\u7684\u306bRW\u304a\u3088\u3073RO\u306e\u5165\u529b\u3092\u5206\u6563\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3055\u3089\u306b\u3053\u308c\u306b\u3088\u308a\u3001\u901a\u5e38\u306ephp-5.6\u3067\u306a\u304fphp7\u3092\u6307\u5b9a\u3057\u3066WordPress\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u3053\u3068\u3082\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u3001DB\u3092\u5206\u6563\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u6709\u52b9\u306a\u624b\u6bb5\u3068\u3057\u3066\u8a9e\u3089\u308c\u3066\u3044\u307e\u3059\u3002\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538#primaryimage\",\"url\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/wp-content\\\/uploads\\\/2018\\\/10\\\/40532704_1666269333483921_164815835225915392_o.jpg\",\"contentUrl\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/wp-content\\\/uploads\\\/2018\\\/10\\\/40532704_1666269333483921_164815835225915392_o.jpg\",\"width\":1280,\"height\":624},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_2538#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#website\",\"url\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/\",\"name\":\"KUSANAGI Tech Column\",\"description\":\"\u901f\u3055\u306e\u7406\u7531\u3092\u77e5\u308b\u3002\u5b89\u5168\u306e\u4ed5\u7d44\u307f\u3092\u77e5\u308b\u3002WordPress\u904b\u7528\u306e\u300c\u306a\u305c\uff1f\u300d\u3092\u89e3\u304f\u6280\u8853\u30b3\u30e9\u30e0\",\"publisher\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#organization\",\"name\":\"KUSANAGI Tech Column\",\"url\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/logo-tc.png\",\"contentUrl\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/logo-tc.png\",\"width\":716,\"height\":57,\"caption\":\"KUSANAGI Tech Column\"},\"image\":{\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/kusanagi_saya\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/#\\\/schema\\\/person\\\/7a8fcfc4a066442d09c59b1026a7e80a\",\"name\":\"\u5bae\ufa11\u609f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0197e2079042df3f0e0ee09cf45ef0f84190843bb012d3683843aa14b754a3f7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0197e2079042df3f0e0ee09cf45ef0f84190843bb012d3683843aa14b754a3f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0197e2079042df3f0e0ee09cf45ef0f84190843bb012d3683843aa14b754a3f7?s=96&d=mm&r=g\",\"caption\":\"\u5bae\ufa11\u609f\"},\"description\":\"\u56fd\u7acb\u51fd\u9928\u9ad8\u5c02\u3092\u5352\u696d\u5f8c\u3001NEC\u5354\u529b\u4f1a\u793e\u306b\u5165\u793e\u3002UNIX\u30fbWindows\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3001Solaris\\\/Linux\u3067\u306e\u30b7\u30b9\u30c6\u30e0\u69cb\u7bc9\u306b20\u5e74\u4ee5\u4e0a\u5f93\u4e8b\u3057\u305f\u3002Solaris\u3068Linux\u3092\u5c02\u9580\u3068\u3057\u3001OS\u304a\u3088\u3073\u4eee\u60f3\u5316\u6280\u8853\u3092\u5f97\u610f\u3068\u3059\u308b\u3002\u65e5\u672cOpenSolaris\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u306e\u30e1\u30f3\u30d0\u3068\u3057\u3066\u3001OSC\u306a\u3069\u52c9\u5f37\u4f1a\u3067\u306e\u767b\u58c7\u591a\u6570\u3002 \u25cb\u5f97\u610f\u5206\u91ce \u8a00\u8a9e\uff1a C\u3001C++\u3001Perl\u3001Python\u3001PowerShell OS\uff1a Solaris\u3001Linux \u904e\u53bb\u306e\u767a\u8868\u8cc7\u6599\uff1aOSC\u304a\u3088\u3073hbstudy\u306a\u3069\u3067\u306e\u767b\u58c7\u7d4c\u9a13\u3042\u308a\u3002 https:\\\/\\\/www.slideshare.net\\\/satorumiyazaki \u904e\u53bb\u306e\u57f7\u7b46\u8a18\u4e8b\uff1a https:\\\/\\\/www.cloudn-service.com\\\/magazine\\\/member\\\/satoru_miyazaki.html\",\"url\":\"https:\\\/\\\/kusanagi.tokyo\\\/column\\\/archives\\\/column_author\\\/satoru\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09 - KUSANAGI Tech Column","description":"KUSANAGI\u306fDB\u3068\u3057\u3066MariaDB\u3068Postgresql\u3092\u7528\u610f\u3057\u3066\u304a\u308a\u3001MySQL8+InnoDB Cluster+MySQL Router\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u8a66\u3057\u305f\u7d50\u679c\u3001MySQL InnoDB Cluster\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u81ea\u52d5\u7684\u306bRW\u304a\u3088\u3073RO\u306e\u5165\u529b\u3092\u5206\u6563\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3055\u3089\u306b\u3053\u308c\u306b\u3088\u308a\u3001\u901a\u5e38\u306ephp-5.6\u3067\u306a\u304fphp7\u3092\u6307\u5b9a\u3057\u3066WordPress\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u3053\u3068\u3082\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u3001DB\u3092\u5206\u6563\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u6709\u52b9\u306a\u624b\u6bb5\u3068\u3057\u3066\u8a9e\u3089\u308c\u3066\u3044\u307e\u3059\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538","og_locale":"ja_JP","og_type":"article","og_title":"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09 - KUSANAGI Tech Column","og_description":"KUSANAGI\u306fDB\u3068\u3057\u3066MariaDB\u3068Postgresql\u3092\u7528\u610f\u3057\u3066\u304a\u308a\u3001MySQL8+InnoDB Cluster+MySQL Router\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u8a66\u3057\u305f\u7d50\u679c\u3001MySQL InnoDB Cluster\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u81ea\u52d5\u7684\u306bRW\u304a\u3088\u3073RO\u306e\u5165\u529b\u3092\u5206\u6563\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3055\u3089\u306b\u3053\u308c\u306b\u3088\u308a\u3001\u901a\u5e38\u306ephp-5.6\u3067\u306a\u304fphp7\u3092\u6307\u5b9a\u3057\u3066WordPress\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u3053\u3068\u3082\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u3001DB\u3092\u5206\u6563\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u6709\u52b9\u306a\u624b\u6bb5\u3068\u3057\u3066\u8a9e\u3089\u308c\u3066\u3044\u307e\u3059\u3002","og_url":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538","og_site_name":"KUSANAGI Tech Column","article_published_time":"2019-01-09T10:50:41+00:00","og_image":[{"width":1280,"height":624,"url":"https:\/\/kusanagi.tokyo\/column\/wp-content\/uploads\/2018\/10\/40532704_1666269333483921_164815835225915392_o.jpg","type":"image\/jpeg"}],"author":"\u5bae\ufa11\u609f","twitter_card":"summary_large_image","twitter_creator":"@kusanagi_saya","twitter_site":"@kusanagi_saya","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538#article","isPartOf":{"@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538"},"author":{"name":"\u5bae\ufa11\u609f","@id":"https:\/\/kusanagi.tokyo\/column\/#\/schema\/person\/7a8fcfc4a066442d09c59b1026a7e80a"},"headline":"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09","datePublished":"2019-01-09T10:50:41+00:00","mainEntityOfPage":{"@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538"},"wordCount":129,"publisher":{"@id":"https:\/\/kusanagi.tokyo\/column\/#organization"},"image":{"@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538#primaryimage"},"thumbnailUrl":"https:\/\/kusanagi.tokyo\/column\/wp-content\/uploads\/2018\/10\/40532704_1666269333483921_164815835225915392_o.jpg","inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538","url":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538","name":"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09 - KUSANAGI Tech Column","isPartOf":{"@id":"https:\/\/kusanagi.tokyo\/column\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538#primaryimage"},"image":{"@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538#primaryimage"},"thumbnailUrl":"https:\/\/kusanagi.tokyo\/column\/wp-content\/uploads\/2018\/10\/40532704_1666269333483921_164815835225915392_o.jpg","datePublished":"2019-01-09T10:50:41+00:00","description":"KUSANAGI\u306fDB\u3068\u3057\u3066MariaDB\u3068Postgresql\u3092\u7528\u610f\u3057\u3066\u304a\u308a\u3001MySQL8+InnoDB Cluster+MySQL Router\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u8a66\u3057\u305f\u7d50\u679c\u3001MySQL InnoDB Cluster\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u81ea\u52d5\u7684\u306bRW\u304a\u3088\u3073RO\u306e\u5165\u529b\u3092\u5206\u6563\u3057\u3066\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3055\u3089\u306b\u3053\u308c\u306b\u3088\u308a\u3001\u901a\u5e38\u306ephp-5.6\u3067\u306a\u304fphp7\u3092\u6307\u5b9a\u3057\u3066WordPress\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u3053\u3068\u3082\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u3001DB\u3092\u5206\u6563\u3057\u3066\u4f7f\u7528\u3059\u308b\u306b\u306f\u6709\u52b9\u306a\u624b\u6bb5\u3068\u3057\u3066\u8a9e\u3089\u308c\u3066\u3044\u307e\u3059\u3002","breadcrumb":{"@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kusanagi.tokyo\/column\/archives\/column_2538"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538#primaryimage","url":"https:\/\/kusanagi.tokyo\/column\/wp-content\/uploads\/2018\/10\/40532704_1666269333483921_164815835225915392_o.jpg","contentUrl":"https:\/\/kusanagi.tokyo\/column\/wp-content\/uploads\/2018\/10\/40532704_1666269333483921_164815835225915392_o.jpg","width":1280,"height":624},{"@type":"BreadcrumbList","@id":"https:\/\/kusanagi.tokyo\/column\/archives\/column_2538#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/kusanagi.tokyo\/column"},{"@type":"ListItem","position":2,"name":"KUSANAGI\u3067MySQL8\u306eInnoDB Cluster\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046\uff08\u5bae\u5d0e\u609f\u6c0f\uff09"}]},{"@type":"WebSite","@id":"https:\/\/kusanagi.tokyo\/column\/#website","url":"https:\/\/kusanagi.tokyo\/column\/","name":"KUSANAGI Tech Column","description":"\u901f\u3055\u306e\u7406\u7531\u3092\u77e5\u308b\u3002\u5b89\u5168\u306e\u4ed5\u7d44\u307f\u3092\u77e5\u308b\u3002WordPress\u904b\u7528\u306e\u300c\u306a\u305c\uff1f\u300d\u3092\u89e3\u304f\u6280\u8853\u30b3\u30e9\u30e0","publisher":{"@id":"https:\/\/kusanagi.tokyo\/column\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kusanagi.tokyo\/column\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/kusanagi.tokyo\/column\/#organization","name":"KUSANAGI Tech Column","url":"https:\/\/kusanagi.tokyo\/column\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/kusanagi.tokyo\/column\/#\/schema\/logo\/image\/","url":"https:\/\/kusanagi.tokyo\/column\/wp-content\/uploads\/2024\/07\/logo-tc.png","contentUrl":"https:\/\/kusanagi.tokyo\/column\/wp-content\/uploads\/2024\/07\/logo-tc.png","width":716,"height":57,"caption":"KUSANAGI Tech Column"},"image":{"@id":"https:\/\/kusanagi.tokyo\/column\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/kusanagi_saya"]},{"@type":"Person","@id":"https:\/\/kusanagi.tokyo\/column\/#\/schema\/person\/7a8fcfc4a066442d09c59b1026a7e80a","name":"\u5bae\ufa11\u609f","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/0197e2079042df3f0e0ee09cf45ef0f84190843bb012d3683843aa14b754a3f7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0197e2079042df3f0e0ee09cf45ef0f84190843bb012d3683843aa14b754a3f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0197e2079042df3f0e0ee09cf45ef0f84190843bb012d3683843aa14b754a3f7?s=96&d=mm&r=g","caption":"\u5bae\ufa11\u609f"},"description":"\u56fd\u7acb\u51fd\u9928\u9ad8\u5c02\u3092\u5352\u696d\u5f8c\u3001NEC\u5354\u529b\u4f1a\u793e\u306b\u5165\u793e\u3002UNIX\u30fbWindows\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3001Solaris\/Linux\u3067\u306e\u30b7\u30b9\u30c6\u30e0\u69cb\u7bc9\u306b20\u5e74\u4ee5\u4e0a\u5f93\u4e8b\u3057\u305f\u3002Solaris\u3068Linux\u3092\u5c02\u9580\u3068\u3057\u3001OS\u304a\u3088\u3073\u4eee\u60f3\u5316\u6280\u8853\u3092\u5f97\u610f\u3068\u3059\u308b\u3002\u65e5\u672cOpenSolaris\u30e6\u30fc\u30b6\u30b0\u30eb\u30fc\u30d7\u306e\u30e1\u30f3\u30d0\u3068\u3057\u3066\u3001OSC\u306a\u3069\u52c9\u5f37\u4f1a\u3067\u306e\u767b\u58c7\u591a\u6570\u3002 \u25cb\u5f97\u610f\u5206\u91ce \u8a00\u8a9e\uff1a C\u3001C++\u3001Perl\u3001Python\u3001PowerShell OS\uff1a Solaris\u3001Linux \u904e\u53bb\u306e\u767a\u8868\u8cc7\u6599\uff1aOSC\u304a\u3088\u3073hbstudy\u306a\u3069\u3067\u306e\u767b\u58c7\u7d4c\u9a13\u3042\u308a\u3002 https:\/\/www.slideshare.net\/satorumiyazaki \u904e\u53bb\u306e\u57f7\u7b46\u8a18\u4e8b\uff1a https:\/\/www.cloudn-service.com\/magazine\/member\/satoru_miyazaki.html","url":"https:\/\/kusanagi.tokyo\/column\/archives\/column_author\/satoru"}]}},"_links":{"self":[{"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/posts\/2538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/comments?post=2538"}],"version-history":[{"count":0,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/posts\/2538\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/media\/2267"}],"wp:attachment":[{"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/media?parent=2538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/categories?post=2538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/tags?post=2538"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/series?post=2538"},{"taxonomy":"journey","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/journey?post=2538"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/kusanagi.tokyo\/column\/wp-json\/wp\/v2\/product?post=2538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}