nacosスイッチmysql8.0データベース

1.アプリケーション環境
Nacos:1.2.0

MySQL:8.0.16

2. Nacosのインストールと構成
1.解凍(デフォルトポート8848)、

2、\ conf \ application.properties:

先頭にserver.contextPath = / nacosを追加します

MySQLデータベース接続を構成する

3.データベーススクリプトのインポート

4. mysql8はデフォルトではサポートされていません:\ target \ nacos-server.jarを置き換えます

5. \ bin \ startup.cmdを起動します

6.正常に起動すると、ウィンドウにNacosのバージョン、モード、ポート、プロセス番号、アクセスアドレス、公式Webサイト情報が表示されます。

 

http:// localhost:8848 / nacos / index.html

デフォルトのアカウントnacos / nacos

7.名前空間を作成する

左側の[名前空間]メニューをクリックし、右上隅の[新しい名前空間]ボタンをクリックして名前空間を作成します

名前空間情報:データベーステーブルtenant_info、tenant_id(名前空間ID)、tenant_name(名前空間名)、tenant_desc(名前空間の説明)を検索します

3.
nacos -server.jar 1. nacos1.2.0はデフォルトでMySQL5のみをサポートし、MySQL8はサポートしないため、ソースコードを変更して自分でコンパイルする必要があります。

2.ソースコードアドレス:https://github.com/alibaba/nacos.git

3.コードを変更します。

(1)pom.xml

<dependency>
<groupId> commons-dbcp </ groupId>
<artifactId> commons-dbcp </ artifactId>
<version> 1.4 </ version>
</ dependency>
<dependency>
<groupId> mysql </ groupId>
<artifactId> mysql -connector-java </ artifactId>
<version> 5.1.34 </ version>
</ dependency>
変更

<dependency>
<groupId> org.apache.commmons </
groupId > <artifactId> commons-dbcp2 </ artifactId>
<version> 2.7.0 </ version>
</ dependency>
<dependency>
<groupId> mysql </ groupId>
<artifactId> mysql-connector-java </ artifactId>
<version> 8.0.16 </ version>
</ dependency>
(2)api / pom.xml、client / pom.xml、common / pom.xml

<configuration>
<source> 6 </ source>
<target> 6 </ target>
</ configuration>
変更する

<configuration>
<source> 1.8 </ source>
<target> 1.8 </ target>
</ configuration>
(3)config / pom.xml

<dependency>
<groupId> commons-dbcp </ groupId>
<artifactId> commons-dbcp </ artifactId>
</ dependency>
変更する

<dependency>
<groupId> org.apache.commons </
groupId > <artifactId> commons-dbcp2 </ artifactId>
</ dependency>
(4)com.alibaba.nacos.config.server.service.BaseDataSourceServiceImpl.java、com。 alibaba.nacos.config.server.service.LocalDataSourceServiceImpl.java

import org.apache.commons.dbcp.BasicDataSource; ds.setMaxActive ds.setMaxWait
改推

import org.apache.commons.dbcp2.BasicDataSource; ds.setMaxTotal ds.setMaxWaitMillis
(5)console / src / main / resources / META-INFO / nacos-default.properties

db.url.0 = jdbc:mysql://11.162.196.161:3306 / diamond_devtest?characterEncoding = utf8&connectTimeout = 1000&socketTimeout = 3000&autoReconnect = true
db.url.1 = jdbc:mysql://11.163.152.91:3306 / diamond_devtest?characterEncoding = utf8&connectTimeout = 1000&socketTimeout = 3000&autoReconnect = true
改今後

db.url.0 = jdbc:mysql://11.162.196.161:3306 / diamond_devtest?serverTimezone = GMT%2B8characterEncoding = utf8&connectTimeout = 1000&socketTimeout = 3000&autoReconnect = true
db.url.1 = jdbc:mysql://11.163.152.91:3306 / diamond_devtest?serverTimezone = GMT%2B8characterEncoding = utf8&connectTimeout = 1000&socketTimeout = 3000&autoReconnect = true
(6)com.alibaba.nacos.naming.healthcheck.MysqlHealthCheckProcessor.java

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;に
変更

import com.mysql.cj.jdbc.MysqlDataSource;
4.コンパイルしてパッケージ化します

ルートディレクトリのBUILDINGファイルに詳細な手順があります。

mvn -Prelease-nacos -Dmaven.test.skip = trueクリーンインストール-U
コンパイルが成功したら、ターゲットファイルnacos-server.jarをディストリビューションからコピーします/ target / nacos-server-1.2.0 / nacos / targetフォルダー

4.よくある質問
1.上記のコードをEclipseで変更した後も次のコンパイルエラーが残っている場合、エラーコード:

 

タイプ「XXX」はAPIではありません...

Windows-> Preferences-> Java-> Compiler-> Errors / Warning-> Deprecated And restricted API-> Forbiddenリファレンス

 

2.プロジェクトの開始時に次のようにエラーが報告された場合

DataSourceの構成に失敗しました: 'url'属性が指定されておらず、埋め込みデータソースを構成できませんでした。理由:適切なドライバークラスを特定できませんでしたアクション:次の点を考慮してください:埋め込みデータベース(H2、HSQLまたはDerby)が必要な場合は、クラスパスに配置してください。あなたが特定のプロファイルからロードされるデータベースの設定を持っている場合は、それを有効にする必要があるかもしれません(ないプロファイルが現在アクティブではない)。
网上常见的解决方案:

(1)スタートアップクラスXXXApplicationの注釈:@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

(2)pomファイルを変更して、ビルドセクションにリソース構成を追加し、構成ファイルがビルド中にロードされるようにします。

私の状況と解決策:

(1)プロジェクトは単に作成されただけでなく、他の人によって開発されたので、テスト済みでコードは問題ないと思います

(2)エラーコードの解析から、エラーを報告したのはデータベースドライバクラスであり、現時点ではプロジェクトはデータベースに接続されていないため、nacosはデータベースエラーに接続されていると判断されます

(3)キューで構成された環境変数が有効になっておらず、すべてのコマンドウィンドウとEclipse環境が再起動され、環境変数が正しく読み込まれていることを確認します

(4)アプリケーション起動シーケンスエラーの問題を排除

(5)データベースバージョンの整合性を確認し、最後に開発データベースが8.0.12であり、データベースが8.0.16であることを確認します

そのため、nacos-server.jarを再パッケージ化する必要があります。 net / mch111666 /記事/詳細/ 105159213 /

おすすめ

転載: www.cnblogs.com/5858y/p/12682831.html