拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. 数据中心
  3. 新框架系统集合
  4. 正文

ASPNetcore安装过程(Linux8+mysql_8.0+ASPNetcore_3.1)

2023年12月11日 850点热度 0人点赞 0条评论

目录

  • 一、环境要求
    • 1、系统环境:
    • 2、数据库版本:
  • 二、数据库安装
    • 1、安装流程
    • 2、设置mysql表名不区分大小写
      • (1)lower_case_table_names参数详解:
      • (2)查看当前设置
      • (3)更改流程
      • (4)启动数据库
      • (5)修改密码
  • 三、数据库及用户创建(如果使用root@'%'用户访问,则下述用户及权限可以不用创建)
    • 1、更新root用户,可以在外部访问
    • 2、创建netcore数据库
    • 3、查看创建的数据库
    • 4、创建pwproject用户并设置密码Data123!@#
    • 5、查看创建的用户
    • 6、更新用户,使用户可以在外部登录
    • 7、防火墙放通3306端口
  • 四、Mysql数据库导入
    • 1、源数据库导出
    • 2、目的数据库数据导入
  • 五、netcore依赖环境安装(linux是7系列,mysql8.0)
    • 1、依赖环境安装
      • (1)安装一些包
      • (2)添加微软提供的yum源,linux默认没有提供
      • (3)如果只是部署程序安装(只安装运行时即可)
      • (4)如果需要开发调试安装下面程序()
  • 六、程序部署
    • 1、程序下载安装
      • (1)下载
      • (2)解压安装
    • (3)配置用户名和密码
    • 2、运行测试
      • (1)Mysql数据库权限授权
      • (2)运行netcore程序
      • (3)后台运行netcore程序(后面可以配置守护进程)
    • 2、问题汇总
      • (1)报错Failed to load ,
      • (2)报错FailFast:
      • (3)报错FailFast:
  • 七、安装进程守护

一、环境要求

1、系统环境:

Centos/RHEL/OL8系列。

系统安装(Linux7/8类似):https://www.topunix.com/post-4556.html

环境优化:https://www.topunix.com/post-10615.html

2、数据库版本:

mysql8.0系列。

二、数据库安装

1、安装流程

--https://www.topunix.com/post-11790.html

2、设置mysql表名不区分大小写

(1)lower_case_table_names参数详解:

其中0:区分大小写,1:不区分大小写

(2)查看当前设置

mysql> show variables like '%lower%';

(3)更改流程

--在在5.6/5.7低版本的mysql中,lower_case_table_names=1可以通过修改参数并重启服务可以生效。
--但是在8.0版本下是行不通的,修改lower_case_table_names变量会报错:官方mysql8.0版本新增的一条说明
lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited.
--翻译:
LOWER_CASE_TABLE_NAMES只能在初始化服务器时配置。禁止在服务器初始化后更改LOWER_CASE_TABLE_NAMES设置。
也就是说在8.0版本,你的mysql已经初始化过就不支持修改lower_case_table_names参数了!!
如果你的是8版本且已经在使用,建议你直接重装。

--或者重新初始化数据库:

/mysql/app/mysql/bin/mysqld --defaults-file=/mysql/data/3306/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql --datadir=/mysql/data/3306/data --lower_case_table_names=1

注意:在初始化数据库后,my.cnf参数文件中lower_case_table_names要设置为1;

否则会报:[ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('0') and data dictionary ('1').

(4)启动数据库

systemctl start mysqld
在my.cnf(可能名字不同)文件中添加lower_case_table_names=1

(5)修改密码

---赋值随机密码至变量defaultmysqlpwd

defaultmysqlpwd=`grep 'A temporary password' /mysql/log/3306/mysql51db-error.err | awk -F "root@localhost: " '{ print $2}' |tail -n1`

--更改密码为rootroot

mysql -uroot -p"${defaultmysqlpwd}" --connect-expired-password <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootroot'; 
EOF

--如果报错: error while loading shared libraries: libtinfo.so.5

ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

三、数据库及用户创建(如果使用root@'%'用户访问,则下述用户及权限可以不用创建)

1、更新root用户,可以在外部访问

update mysql.user set host='%' where user='root'; 
flush privileges; 
select user,host from mysql.user;

2、创建netcore数据库

create database pwproject;

3、查看创建的数据库

show databases;

4、创建pwproject用户并设置密码Data123!@#

create user 'pwproject'@'localhost' identified by 'Data123';
create user 'pwproject'@'localhost' identified by 'Data123!@#';
grant all privileges on pwproject.* to 'pwproject'@'localhost';
create user 'pwproject'@'%' identified by 'Data123!@#';
grant all privileges on pwproject.* to 'pwproject'@'%';
flush privileges;

5、查看创建的用户

select user,host from mysql.user;

6、更新用户,使用户可以在外部登录

update mysql.user set host='%' where user='pwproject'; 
flush privileges; 
select user,host from mysql.user; 
+---------+-----------+ 
| user    | host      | 
+---------+-----------+ 
| netcore | %         | 
| root    | 127.0.0.1 | 
| root    | ::1       | 
| root    | %         | 
+---------+-----------+ 
4 rows in set (0.00 sec)

7、防火墙放通3306端口

[root@master01 opt]# firewall-cmd --permanent --add-port=3306/tcp; 
[root@master01 opt]# firewall-cmd --reload

四、Mysql数据库导入

1、源数据库导出

mysqldump -uroot -p pwproject >pwproject.sql

2、目的数据库数据导入

我们导入数据的时候怎么做呢?我们可能会想到还是用mysqldump只要把输出符号换为输入符号即可。其实不然,那样导入后,虽说不报错,但是数据库中是没有任何数据的!

我们就需要直接通过mysql命令来实现了,方法如下:

mysql -uroot -p pwproject < pwproject.sql

五、netcore依赖环境安装(linux是7系列,mysql8.0)

1、依赖环境安装

(1)安装一些包

yum install -y libunwind
yum install -y icu

(2)添加微软提供的yum源,linux默认没有提供

mv /etc/yum.repos.d/* /etc/yum.repos.d/bk/
yum remove packages-microsoft-prod
rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm
或:
cd /etc/yum.repos.d
wget https://download.topunix.com/ASPnetcore/dotnet-Linux8/packages-microsoft-prod.repo

(3)如果只是部署程序安装(只安装运行时即可)

yum clean all
yum install -y aspnetcore-runtime-3.1

注意:之前只安装此依赖环境去部署我们的程序的时候有出现无法启动的情况,如果出现无法启动的情况建议把开发调试环境也一起安装。

(4)如果需要开发调试安装下面程序()

yum install -y dotnet-sdk-3.1.x86_64

--查看安装的版本号

dotnet --version

* .Net Core SDK 用于开发者构建 App,包含有较多开发相关的工具 包(实际上,SDK 也是包含 Runtime)
* .Net Core Runtime 仅作为运行时使用,不包含开发工具包,体积较小。
既然要部署 Asp.Net Core,自然离不开 Runtime(如果装 SDK 也能跑,不过不推荐在运行环境装 SDK)。

六、程序部署

1、程序下载安装

(1)下载

mkdir -p /data
cd /data
wget https://download.topunix.com/ASPnetcore/publish.zip

(2)解压安装

cd /data
unzip publish.zip

(3)配置用户名和密码

vi /data/publish/appsettings.json 

 "Version": "",
//数据库地址
"Server": "192.168.*", //192.168.10.172
//端口号
"Port": 3306,
//用户名
"UserId": "root",
//密码
"Password": "**",

2、运行测试

(1)Mysql数据库权限授权

grant all on *.* to 'pwproject'@'%';
flush privileges;

(2)运行netcore程序

cd /data/publish/
dotnet NetModular.Demo.WebHost.dll --urls http://*:5000

(3)后台运行netcore程序(后面可以配置守护进程)

nohup dotnet NetModular.Demo.WebHost.dll --urls http://*:5000 &

2、问题汇总

(1)报错Failed to load ,

 error: libunwind.so.8: cannot open shared object file: No such file or directory

Failed to bind to CoreCLR at ‘/root/dotnet/shared/Microsoft.NETCore.App/2.0.0/libcoreclr.so‘

解决办法:yum install libunwind

(2)报错FailFast:

 Couldn‘t find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.

解决办法:yum install icu

(3)报错FailFast:

[root@peerp PEProject]# dotnet NetModular.Demo.WebHost.dll --urls http://*:5000
Unhandled exception. System.InvalidOperationException: Sequence contains no elements
at System.Linq.ThrowHelper.ThrowNoElementsException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at Dapper.SqlMapper.ThrowZeroRows(Row row) in /_/Dapper/SqlMapper.cs:line 1158
at Dapper.SqlMapper.QueryRowImpl[T](IDbConnection cnn, Row row, CommandDefinition& command, Type effectiveType) in /_/Dapper/SqlMapper.cs:line 1212
at Dapper.SqlMapper.QueryFirst[T](IDbConnection cnn, String sql, Object param, IDbTransaction 
...

解决办法:数据库PEProject问题,删除数据库重新安装,并导入数据。

七、安装进程守护

https://www.topunix.com/post-5795.html

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年4月8日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号