質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

解決済

python3のmysqlについて

todasan
todasan

総合スコア52

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

1回答

0リアクション

0クリップ

194閲覧

投稿2022/09/29 06:56

編集2022/09/29 06:58

windowsのパソコンから、バーチャルボックスを
使用しています。CENTOS7を使用しています。
以下のようにメインの処理からtsdbを読んでいます。
[python3 main.py]コマンドを、実行しました。

・main.py from parts import tsdb_class log = my_logging.Logger(name="learn_test") tsdb_class.data_create() print("test6") print(log) tsdb_class.DTBsTsApiGetDataWrCSV('./csv/sm_data2.csv',log) ・tsdb_class.py #!/usr/bin/python ==================== # module # --------------------------------------------------------------- import sys import pymysql.cursors #import db_cfg #from db_cfg import * import csv import gc sys.path.insert(0,'../source/parts'); from parts import my_logging # ------------------------------------------------- # Define all parameter # ------------------------------------------------- # ------------------------------------------------- # Import the stardard library # ------------------------------------------------- # Zone Class def data_create(): # データベースに接続 conn = pymysql.connect(host='localhost', user='root', password='Stay.(Me15+', db='myDB', charset='utf8') sql = '''CREATE TABLE IF NOT EXISTS ts_api_getdata ( id INT UNSIGNED NOT NULL AUTO_INCREMENT unique, sm_id INT not null, time TIMESTAMP DEFAULT CURRENT_TIMESTAMP not null, SensKind INT DEFAULT NULL, data DECIMAL(6,2) DEFAULT NULL, offset_correction_value DECIMAL(6,2) DEFAULT NULL, PRIMARY KEY (id) ) ''' with conn: with conn.cursor() as cur: cur.execute(sql) conn.commit() def DTBsTsApiGetDataWrCSV(csvpass ="",log =""): conn = pymysql.connect(host='localhost', user='root', password='Stay.(Me15+', db='myDB', charset='utf8') sql = "load data local infile '%s' into table ts_api_getdata \ fields terminated by ',' enclosed by '\"'" % (csvpass); print("test3") print(log) log.info("sql = %s" % sql) with conn: with conn.cursor() as cur: cur.execute(sql) conn.commit()

sm_data2.csvというものを、pythonからmysqlにより、データベースに
格納しようとしています。

・sm_data2.csv 100000,601,2021-03-05 16:50:00,52,463.0,514.5 100001,601,2021-03-05 17:00:00,52,472.0,523.5 100002,601,2021-03-05 17:10:00,52,488.5,540.0 100003,601,2021-03-05 17:20:00,52,459.0,510.5 100004,601,2021-03-05 17:30:00,52,425.5,477.0 100005,601,2021-03-05 17:40:00,52,396.5,448.0 100006,601,2021-03-05 17:50:00,52,420.0,471.5 100007,601,2021-03-05 18:00:00,52,429.0,480.5 100008,601,2021-03-05 18:10:00,52,469.5,521.0 100009,601,2021-03-05 18:20:00,52,464.5,516.0 100010,601,2021-03-05 18:30:00,52,460.5,512.0

実行後のsqlのログは正しい操作をしています。
下記のsqlのコマンドを、手入力する時は、うまくできます。
[LOAD DATA LOCAL INFILE '/home/todashinya/abm_process_offset_kai/source/csv/sm_data2.csv'
INTO TABLE ts_api_getdata
FIELDS TERMINATED BY ',' ENCLOSED BY '"';]
pythonのコマンドから実行すると、1148が出ます。
何か解決方法は分かりますか。

test6 <parts.my_logging.Logger object at 0x7f03d0496090> test3 <parts.my_logging.Logger object at 0x7f03d0496090> 2022-09-29 15:36:28,037 INFO learn_test: sql = load data local infile './csv/sm_data2.csv' into table ts_api_getdata fields terminated by ',' enclosed by '"' 2022-09-29 15:36:28,041 INFO learn_test: database init failed, please check init data again pymysql.err.OperationalError: (1148, 'The used command is not allowed with this MySQL version')

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。