次のファイルがあるフォルダーで実行します。
client-cert.pem
client-key.pem
server-ca.pem
コマンド
ssl_connect.sh
host="example.com"user="scott"pass="secret"#
mysql --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem \--ssl-key=client-key.pem \--host=${host}--user=${user}--password=${pass}
Python3
show_tables.py
#! /usr/bin/python
#
# show_tables.py
#
# Jan/28/2021
importpymysql.cursors#
host_aa='example.com'user_aa='scott'pass_aa='secret'db_aa='dbfirst'#
connection=pymysql.connect(host=host_aa,user=user_aa,password=pass_aa,db=db_aa,charset='utf8',cursorclass=pymysql.cursors.DictCursor,ssl={'key':'./client-key.pem','cert':'./client-cert.pem','ca':'./server-ca.pem','check_hostname':False})cursor=connection.cursor()cursor.execute("show tables")result=cursor.fetchall()# print(result)
forrrinresult:print(rr)cursor.close()connection.close()
Node.js
show_tables.js
#! /usr/bin/node
// ---------------------------------------------------------------// show_tables.js//// Jan/28/2021//// ---------------------------------------------------------------'use strict'varfs=require("fs")// ---------------------------------------------------------------console.error("*** 開始 ***")varmysql=require('mysql')varconnection=mysql.createConnection({host:'example.com',user:'scott',password:'secret',database:'dbfirst',ssl:{ca:fs.readFileSync('./server-ca.pem'),key:fs.readFileSync('./client-key.pem'),cert:fs.readFileSync('./client-cert.pem'),}})connection.query("show tables",function(err,rows){if(err)throwerrconsole.log(rows.length)rows.forEach(function(row){console.log(row)})connection.end()console.error("*** 終了 ***")})// ---------------------------------------------------------------