赞
踩
一、下载最新版nacos,linux如果没有安装docker,百度自行查找linux安装docker教程
docker pull nacos/nacos-server
下载完成后查看已下载的镜像docker images
二、运行nacos容器
docker run -p 8848:8848 --name nacos -d nacos/nacos-server:latest
运行成功后,查看运行中的容器,docker ps,发现容器已运行,如下图
三、设置nacos挂载目录为/usr/local/nacos,并将容器里都conf目录、logs目录、data目录复制到宿主机/usr/local/nacos目录里,执行下面都命令,如下:
docker cp nacos:/home/nacos/conf /usr/local/nacos
docker cp nacos:/home/nacos/logs /usr/local/nacos
docker cp nacos:/home/nacos/data /usr/local/nacos
四、修改nacos数据库配置,进入 /usr/local/nacos/conf/目录,修改application.properties文件
cd /usr/local/nacos/conf/
vi application.properties
如上图所示,修改这三个匡红都地方,按你实际的数据库信息来修改,修改完保持退出vi编辑。
五、停止和删除刚才运行的nacos容器
docker stop nacos 停止容器
docker rm nacos 彻底删除容器
六、在/usr/local/nacos/conf/目录里,下载schema.sql文件到本地,然后在你的mysql数据库里新建一个名为nacos的数据库后,在数据库里执行一下schema.sql,不出意外,执行过程中会报错,不要着急,逐个排查问题和解决sql问题,最后所有的sql问题都排查和解决完毕以后,将已经生成的库表全部删除掉,然后将最后整理解决完问题后都sql整体执行一下就行了。下图是我最终执行后的结果,生成15个表
下面是我最终整理的sql语句
- /*
- * Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- START TRANSACTION;
-
- CREATE TABLE config_info (
- id bigint NOT NULL AUTO_INCREMENT,
- data_id varchar(255) NOT NULL,
- group_id varchar(128) NOT NULL,
- tenant_id varchar(128) default '',
- app_name varchar(128),
- content LONGTEXT,
- md5 varchar(32) DEFAULT NULL,
- gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
- gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
- src_user varchar(128) DEFAULT NULL,
- src_ip varchar(50) DEFAULT NULL,
- c_desc varchar(256) DEFAULT NULL,
- c_use varchar(64) DEFAULT NULL,
- effect varchar(64) DEFAULT NULL,
- type varchar(64) DEFAULT NULL,
- c_schema LONG VARCHAR DEFAULT NULL,
- constraint configinfo_id_key PRIMARY KEY (id),
- constraint uk_configinfo_datagrouptenant UNIQUE (data_id,group_id,tenant_id));
-
- CREATE INDEX configinfo_dataid_key_idx ON config_info(data_id);
- CREATE INDEX configinfo_groupid_key_idx ON config_info(group_id);
- CREATE INDEX configinfo_dataid_group_key_idx ON config_info(data_id, group_id);
-
- CREATE TABLE his_config_info (
- id bigint NOT NULL,
- nid bigint NOT NULL AUTO_INCREMENT,
- data_id varchar(255) NOT NULL,
- group_id varchar(128) NOT NULL,
- tenant_id varchar(128) default '',
- app_name varchar(128),
- content LONGTEXT,
- md5 varchar(32) DEFAULT NULL,
- gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000',
- gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00.000',
- src_user varchar(128),
- src_ip varchar(50) DEFAULT NULL,
- op_type char(10) DEFAULT NULL,
- constraint hisconfiginfo_nid_key PRIMARY KEY (nid));
-
- CREATE INDEX hisconfiginfo_dataid_key_idx ON his_config_info(data_id);
- CREATE INDEX hisconfiginfo_gmt_create_idx ON his_config_info(gmt_create);
- CREATE INDEX hisconfiginfo_gmt_modified_idx ON his_config_info(gmt_modified);
-
-
- CREATE TABLE config_info_beta (
- id bigint NOT NULL AUTO_INCREMENT,
- data_id varchar(255) NOT NULL,
- group_id varchar(128) NOT NULL,
- tenant_id varchar(128) default '',
- app_name varchar(128),
- content LONGTEXT,
- beta_ips varchar(1024),
- md5 varchar(32) DEFAULT NULL,
- gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
- gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
- src_user varchar(128),
- src_ip varchar(50) DEFAULT NULL,
- constraint configinfobeta_id_key PRIMARY KEY (id),
- constraint uk_configinfobeta_datagrouptenant UNIQUE (data_id,group_id,tenant_id));
-
- CREATE TABLE config_info_tag (
- id bigint NOT NULL AUTO_INCREMENT,
- data_id varchar(255) NOT NULL,
- group_id varchar(128) NOT NULL,
- tenant_id varchar(128) default '',
- tag_id varchar(128) NOT NULL,
- app_name varchar(128),
- content LONGTEXT,
- md5 varchar(32) DEFAULT NULL,
- gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
- gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
- src_user varchar(128),
- src_ip varchar(50) DEFAULT NULL,
- constraint configinfotag_id_key PRIMARY KEY (id),
- constraint uk_configinfotag_datagrouptenanttag UNIQUE (data_id,group_id,tenant_id,tag_id));
-
- CREATE TABLE config_info_aggr (
- id bigint NOT NULL AUTO_INCREMENT,
- data_id varchar(255) NOT NULL,
- group_id varchar(128) NOT NULL,
- tenant_id varchar(128) default '',
- datum_id varchar(255) NOT NULL,
- app_name varchar(128),
- content LONGTEXT,
- gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
- constraint configinfoaggr_id_key PRIMARY KEY (id),
- constraint uk_configinfoaggr_datagrouptenantdatum UNIQUE (data_id,group_id,tenant_id,datum_id));
-
- CREATE TABLE app_list (
- id bigint NOT NULL AUTO_INCREMENT,
- app_name varchar(128) NOT NULL,
- is_dynamic_collect_disabled smallint DEFAULT 0,
- last_sub_info_collected_time timestamp DEFAULT NULL,
- sub_info_lock_owner varchar(128),
- sub_info_lock_time timestamp DEFAULT NULL,
- constraint applist_id_key PRIMARY KEY (id),
- constraint uk_appname UNIQUE (app_name));
-
- CREATE TABLE app_configdata_relation_subs (
- id bigint NOT NULL AUTO_INCREMENT,
- app_name varchar(128) NOT NULL,
- data_id varchar(255) NOT NULL,
- group_id varchar(128) NOT NULL,
- gmt_modified timestamp DEFAULT NULL,
- constraint configdatarelationsubs_id_key PRIMARY KEY (id),
- constraint uk_app_sub_config_datagroup UNIQUE (app_name, data_id, group_id));
-
-
- CREATE TABLE app_configdata_relation_pubs (
- id bigint NOT NULL AUTO_INCREMENT,
- app_name varchar(128) NOT NULL,
- data_id varchar(255) NOT NULL,
- group_id varchar(128) NOT NULL,
- gmt_modified timestamp DEFAULT NULL,
- constraint configdatarelationpubs_id_key PRIMARY KEY (id),
- constraint uk_app_pub_config_datagroup UNIQUE (app_name, data_id, group_id));
-
- CREATE TABLE config_tags_relation (
- id bigint NOT NULL,
- tag_name varchar(128) NOT NULL,
- tag_type varchar(64) DEFAULT NULL,
- data_id varchar(255) NOT NULL,
- group_id varchar(128) NOT NULL,
- tenant_id varchar(128) DEFAULT '',
- nid bigint NOT NULL AUTO_INCREMENT,
- constraint config_tags_id_key PRIMARY KEY (nid),
- constraint uk_configtagrelation_configidtag UNIQUE (id, tag_name, tag_type));
-
- CREATE INDEX config_tags_tenant_id_idx ON config_tags_relation(tenant_id);
-
- CREATE TABLE group_capacity (
- id bigint NOT NULL AUTO_INCREMENT,
- group_id varchar(128) DEFAULT '',
- quota int DEFAULT 0,
- `usage` int DEFAULT 0,
- max_size int DEFAULT 0,
- max_aggr_count int DEFAULT 0,
- max_aggr_size int DEFAULT 0,
- max_history_count int DEFAULT 0,
- gmt_create timestamp DEFAULT NULL,
- gmt_modified timestamp DEFAULT NULL,
- constraint group_capacity_id_key PRIMARY KEY (id),
- constraint uk_group_id UNIQUE (group_id));
-
- CREATE TABLE tenant_capacity (
- id bigint NOT NULL AUTO_INCREMENT,
- tenant_id varchar(128) DEFAULT '',
- quota int DEFAULT 0,
- `usage` int DEFAULT 0,
- max_size int DEFAULT 0,
- max_aggr_count int DEFAULT 0,
- max_aggr_size int DEFAULT 0,
- max_history_count int DEFAULT 0,
- gmt_create timestamp DEFAULT NULL,
- gmt_modified timestamp DEFAULT NULL,
- constraint tenant_capacity_id_key PRIMARY KEY (id),
- constraint uk_tenant_id UNIQUE (tenant_id));
-
- CREATE TABLE tenant_info (
- id bigint NOT NULL AUTO_INCREMENT,
- kp varchar(128) NOT NULL,
- tenant_id varchar(128) DEFAULT '',
- tenant_name varchar(128) DEFAULT '',
- tenant_desc varchar(256) DEFAULT NULL,
- create_source varchar(32) DEFAULT NULL,
- gmt_create bigint NOT NULL,
- gmt_modified bigint NOT NULL,
- constraint tenant_info_id_key PRIMARY KEY (id),
- constraint uk_tenant_info_kptenantid UNIQUE (kp,tenant_id));
- CREATE INDEX tenant_info_tenant_id_idx ON tenant_info(tenant_id);
-
- CREATE TABLE users (
- username varchar(50) NOT NULL PRIMARY KEY,
- password varchar(500) NOT NULL,
- enabled boolean NOT NULL DEFAULT true
- );
-
- CREATE TABLE roles (
- username varchar(50) NOT NULL,
- role varchar(50) NOT NULL,
- constraint uk_username_role UNIQUE (username,role)
- );
-
- CREATE TABLE permissions (
- role varchar(50) NOT NULL,
- resource varchar(512) NOT NULL,
- action varchar(8) NOT NULL,
- constraint uk_role_permission UNIQUE (role,resource,action)
- );
-
- INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
-
- INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
-
-
- /******************************************/
- /* ipv6 support */
- /******************************************/
- ALTER TABLE `config_info_tag`
- MODIFY COLUMN `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip' AFTER `src_user`;
-
- ALTER TABLE `his_config_info`
- MODIFY COLUMN `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL AFTER `src_user`;
-
- ALTER TABLE `config_info`
- MODIFY COLUMN `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip' AFTER `src_user`;
-
- ALTER TABLE `config_info_beta`
- MODIFY COLUMN `src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip' AFTER `src_user`;
-
- COMMIT;
-
- -- 如果中途发生错误,回滚事务
- ROLLBACK;
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
七、设置数据库账号可以远程登录,你可以新建一个账号,我这里为了方便,我就直接用的root账号,将root设置成可以远程登录。
- #设置%和mysql_native_password 表示root可以远程登录
- ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
- #刷新权限
- FLUSH PRIVILEGES;
- #如果可以的话,可以再重启一下mysql服务(这步可选,我自己是重启了一次)
八、启动nacos容器
docker run --name nacos -d -p 8848:8848 -p 9848:9848 -p 9849:9849 --restart=always --privileged=true --env MODE=standalone --env NACOS_AUTH_ENABLE=true -e JVM_XMS=128m -e JVM_XMX=128m -e JVM_XMN=64m -v /usr/local/nacos/conf/:/home/nacos/conf -v /usr/local/nacos/logs/:/home/nacos/logs -v /usr/local/nacos/data/:/home/nacos/data nacos/nacos-server:latest
启动以后,docker ps 查看容器运行状态,如下图所示,表示nacos服务已启动
九、浏览器访问nacos
访问地址:你的linux服务器的IP:8848/nacos,初始账号密码都是nacos
十、上述浏览器中如果无法访问,请关闭mysql所在服务器的防火墙,Linux服务器的防火墙。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。