カテゴリ:Django 投稿:2022年6月2日23:23、更新:2022年7月7日1:09
・記事の概要
CentOS上で「
SQLite 3.9.0 or later is required」が発生してしまった場合の解消手順を記載します。・この記事の対象
CentOS7上でDjangoを動作させようとすると、以下のようなSQLiteのエラーが発生してしまった方。
- 'SQLite 3.9.0 or later is required (found %s).' % Database.sqlite_version
- django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17).
・この記事でできるようになること
上記エラーの解消をしていきます。
結論で言うと、SQLiteではなくMariaDB(MySQL互換のDB)に切り替えて利用します。
・実際の手順
①必要となるパッケージをインストール
以下より関連パッケージのインストールをしてください。
sudo yum install mariadb mariadb-server
②my.cnfを編集
sudo vi /etc/my.cnf
で設定ファイルを編集し、[mysql]に以下を追記してください。
[mysqld]
character-set-server=utf8
上記対応後にmariadbの起動と自動起動化をしておきましょう。
sudo systemctl start mariadb
sudo systemctl enable mariadb
③mysqlのインストール時セキュリティ向上
以下をコマンド実行します。
sudo mysql_secure_installation
Enter current password for root (enter for none):
上記のように「rootのパスワードを設定してね」と言われますのでrootパスワードを入力しEnter。
その後も
Change the root password? [Y/n]
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
など聞かれますが、全てYES(Y)でいいです。
④firewallのポート開放と更新
以下をコマンド実行しmysqlのポートを開け、設定を反映させます。
sudo firewall-cmd --add-service=mysql --permanent
sudo firewall-cmd --reload
⑤rootでログインをしてDB作成(create datebase)
以下をコマンド実行しmysqlのポートを開け、設定を反映させます。
sudo mysql -u root -p
で③設定のパスワードを入れて、mysqlにログインし
create database hoge;
でDBを作成します。(hogeは任意のDB名)
show databases;で作成されて作成されているかを見てみても良いです。
⑥mysqlclientの準備
以下をコマンド実行し必要パッケージなどをインストールします。
yum install python3-devel mysql-devel
pip install mysqlclient
⑦setting.pyの編集
setting.pyにDATABASESを以下のように追記します。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sample', # 作成したデータベース名
'USER': 'hoga', # ログインユーザー名
'HOST': '111.111.111.111', #サーバのIP
'PORT': '',
}
}
・まとめ
いかがだったでしょうか。
上記対応後に元々実施したかったことを試してみて下さい。SQLiteのエラーのエラーが発生することなくできていれば幸いです。
またPythonなどのプログラミング言語を習得する際には、以下のようなオンライン学習(動画学習)サービスがオススメです!
リンク先にシリコンバレーエンジニアが講師で、基礎から応用までPythonを学習できる講義を紐づけています。
動画の解説を見て、手を実際に動かして、効率化技術を習得しましょう!
コメント一覧
名無し / 2023年9月13日7:34
123456
名無し / 2023年9月13日7:44
123456
expr 914327639 + 963817690
名無し / 2023年9月13日7:44
123456|expr 872927264 + 981015899
名無し / 2023年9月13日7:44
123456
${@var_dump(md5(625800836))}; / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456$(expr 894121010 + 946181074)
名無し / 2023年9月13日7:44
123456
'-var_dump(md5(610826185))-' / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456&set /A 847842328+975069983
名無し / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
${@var_dump(md5(591362969))};
名無し / 2023年9月13日7:44
expr 867638196 + 950198957
名無し / 2023年9月13日7:44
123456'and/**/extractvalue(1,concat(char(126),md5(1039237821)))and'
名無し / 2023年9月13日7:44
'-var_dump(md5(782693665))-'
名無し / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456"and/**/extractvalue(1,concat(char(126),md5(1463762955)))and"
/*1*/{{925745828+816926756}} / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
extractvalue(1,concat(char(126),md5(1624742732)))
${812968442+912477497} / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
${841223596+970346564}
名無し / 2023年9月13日7:44
123456'and(select'1'from/**/cast(md5(1761085662)as/**/int))>'0
${(986414233+883216296)?c} / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456
名無し / 2023年9月13日7:44
123456/**/and/**/cast(md5('1803997180')as/**/int)>0
${959256617+904280340} / 2023年9月13日7:45
123456
名無し / 2023年9月13日7:45
convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1202575527')))
<%- 829736797+857242247 %> / 2023年9月13日7:45
123456
名無し / 2023年9月13日7:45
123456
名無し
expr 912966696 + 839865772 / 2023年9月13日7:45
123456
名無し / 2023年9月13日7:45
123456'and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1618186032')))>'0
名無し / 2023年9月13日7:45
/*1*/{{933036520+928192062}}
名無し / 2023年9月13日7:45
123456
名無し|expr 832035820 + 894463590 / 2023年9月13日7:45
123456
名無し / 2023年9月13日7:45
123456鎈'"\(
名無し / 2023年9月13日7:45
${899856374+818546619}
名無し / 2023年9月13日7:45
123456
名無し / 2023年9月13日7:45
123456'"\(
名無し / 2023年9月13日7:45
${(896978651+810204623)?c}
名無し&set /A 807528195+948219474 / 2023年9月13日7:45
123456
名無し / 2023年9月13日7:45
#set($c=993851104+851810215)${c}$c
expr 849039272 + 877952736 / 2023年9月13日7:45
123456
名無し / 2023年9月13日7:45
<%- 886357273+856542998 %>
名無し'and'u'='u / 2023年9月13日7:45
123456
名無し'and'x'='o / 2023年9月13日7:45
123456
名無し"and"f"="f / 2023年9月13日7:45
123456
名無し"and"l"="b / 2023年9月13日7:45
123456
名無し鎈'"\( / 2023年9月13日7:45
123456
名無し'"\( / 2023年9月13日7:45
123456
名無し / 2023年9月13日7:46
123456/**/and+1=1
名無し / 2023年9月13日7:46
123456/**/and+3=7
名無し / 2023年9月13日7:46
123456'and'a'='a
名無し / 2023年9月13日7:46
123456'and'l'='t
名無し / 2023年9月13日7:46
123456"and"d"="d
名無し / 2023年9月13日7:46
123456"and"h"="r
名無し / 2023年9月13日7:46
(select*from(select+sleep(0)union/**/select+1)a)
名無し / 2023年9月13日7:46
(select*from(select+sleep(2)union/**/select+1)a)
名無し / 2023年9月13日7:46
123456'and(select*from(select+sleep(0))a/**/union/**/select+1)='
名無し / 2023年9月13日7:46
123456'and(select*from(select+sleep(2))a/**/union/**/select+1)='
名無し / 2023年9月13日7:46
123456"and(select*from(select+sleep(0))a/**/union/**/select+1)="
名無し / 2023年9月13日7:46
123456"and(select*from(select+sleep(2))a/**/union/**/select+1)="
名無し / 2023年9月13日7:46
123456/**/and(select+1/**/from/**/pg_sleep(0))>0/**/
名無し / 2023年9月13日7:46
123456/**/and(select+1/**/from/**/pg_sleep(2))>0/**/
名無し / 2023年9月13日7:46
123456'/**/and(select'1'from/**/pg_sleep(0))::text>'0
名無し / 2023年9月13日7:46
123456'/**/and(select'1'from/**/pg_sleep(2))::text>'0
名無し / 2023年9月13日7:46
123456/**/and(select+1)>0waitfor/**/delay'0:0:0'/**/
名無し / 2023年9月13日7:46
123456/**/and(select+1)>0waitfor/**/delay'0:0:2'/**/
名無し / 2023年9月13日7:46
123456'and(select+1)>0waitfor/**/delay'0:0:0
名無し / 2023年9月13日7:46
123456'and(select+1)>0waitfor/**/delay'0:0:2
名無し / 2023年9月13日7:46
123456/**/and/**/2=DBMS_PIPE.RECEIVE_MESSAGE('z',0)
名無し / 2023年9月13日7:46
123456/**/and/**/3=DBMS_PIPE.RECEIVE_MESSAGE('y',2)
名無し / 2023年9月13日7:46
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('x',0)='x
名無し / 2023年9月13日7:46
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('r',2)='r
名無し / 2023年11月7日15:30
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
${871121250+853908753} / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
${@var_dump(md5(499693075))}; / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
${810103551+803332635}
名無し / 2023年11月7日15:40
123456'and/**/extractvalue(1,concat(char(126),md5(1950419858)))and'
'-var_dump(md5(630269030))-' / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456"and/**/extractvalue(1,concat(char(126),md5(1846498354)))and"
名無し / 2023年11月7日15:40
${@var_dump(md5(718479334))};
名無し
expr 929362135 + 996245870 / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
extractvalue(1,concat(char(126),md5(1430729078)))
名無し / 2023年11月7日15:40
'-var_dump(md5(121259243))-'
名無し|expr 958248923 + 901988488 / 2023年11月7日15:40
123456
/*1*/{{883083156+990605180}} / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456'and(select'1'from/**/cast(md5(1714858971)as/**/int))>'0
${912964625+975091706} / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456/**/and/**/cast(md5('1115352961')as/**/int)>0
名無し&set /A 893772035+927618210 / 2023年11月7日15:40
123456
${(835361852+833672392)?c} / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1867593702')))
expr 950277337 + 848195754 / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456'and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1930454530')))>'0
名無し / 2023年11月7日15:40
123456
expr 860985502 + 954793661
<%- 993010831+955439336 %> / 2023年11月7日15:40
123456
名無し / 2023年11月7日15:40
123456鎈'"\(
名無し / 2023年11月7日15:40
123456|expr 805022962 + 806813661
名無し / 2023年11月7日15:40
/*1*/{{859911041+832331581}}
名無し / 2023年11月7日15:40
123456'"\(
名無し / 2023年11月7日15:40
123456$(expr 897601341 + 893940485)
名無し / 2023年11月7日15:40
${851299714+863472940}
名無し / 2023年11月7日15:40
123456&set /A 933537726+998291028
名無し / 2023年11月7日15:40
${(824332776+989183193)?c}
名無し / 2023年11月7日15:40
expr 893300629 + 918760973
名無し / 2023年11月7日15:40
#set($c=876512633+921794455)${c}$c
名無し / 2023年11月7日15:40
<%- 936109592+812024690 %>
名無し'and'z'='z / 2023年11月7日15:41
123456
名無し'and'r'='k / 2023年11月7日15:41
123456
名無し"and"u"="u / 2023年11月7日15:41
123456
名無し"and"p"="a / 2023年11月7日15:41
123456
名無し鎈'"\( / 2023年11月7日15:41
123456
名無し'"\( / 2023年11月7日15:41
123456
名無し / 2023年11月7日15:42
123456/**/and+1=1
名無し / 2023年11月7日15:42
123456/**/and+2=5
名無し / 2023年11月7日15:42
123456'and'x'='x
名無し / 2023年11月7日15:42
123456'and'p'='w
名無し / 2023年11月7日15:42
123456"and"z"="z
名無し / 2023年11月7日15:42
123456"and"q"="d
名無し / 2023年11月7日15:42
(select*from(select+sleep(0)union/**/select+1)a)
名無し / 2023年11月7日15:42
(select*from(select+sleep(2)union/**/select+1)a)
名無し / 2023年11月7日15:42
123456'and(select*from(select+sleep(0))a/**/union/**/select+1)='
名無し / 2023年11月7日15:42
123456'and(select*from(select+sleep(2))a/**/union/**/select+1)='
名無し / 2023年11月7日15:42
123456"and(select*from(select+sleep(0))a/**/union/**/select+1)="
名無し / 2023年11月7日15:42
123456"and(select*from(select+sleep(2))a/**/union/**/select+1)="
名無し / 2023年11月7日15:42
123456/**/and(select+1/**/from/**/pg_sleep(0))>0/**/
名無し / 2023年11月7日15:42
123456/**/and(select+1/**/from/**/pg_sleep(2))>0/**/
名無し / 2023年11月7日15:43
123456'/**/and(select'1'from/**/pg_sleep(0))::text>'0
名無し / 2023年11月7日15:43
123456'/**/and(select'1'from/**/pg_sleep(2))::text>'0
名無し / 2023年11月7日15:43
123456/**/and(select+1)>0waitfor/**/delay'0:0:0'/**/
名無し / 2023年11月7日15:43
123456/**/and(select+1)>0waitfor/**/delay'0:0:2'/**/
名無し / 2023年11月7日15:43
123456'and(select+1)>0waitfor/**/delay'0:0:0
名無し / 2023年11月7日15:43
123456'and(select+1)>0waitfor/**/delay'0:0:2
名無し / 2023年11月7日15:43
123456/**/and/**/4=DBMS_PIPE.RECEIVE_MESSAGE('w',0)
名無し / 2023年11月7日15:43
123456/**/and/**/4=DBMS_PIPE.RECEIVE_MESSAGE('m',2)
名無し / 2023年11月7日15:43
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('n',0)='n
名無し / 2023年11月7日15:43
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('x',2)='x