Linux下部署安装.net 5、mysql

244 阅读4分钟

部署模式

netcore

震荡了几个版本,最终net5为长期文档版本,支持跨平台部署,在编译时可以选择区分部署模式

  • 整体部署(包含runtime)
  • 独立部署(如果服务器环境预安装了net5 runtime,直接独立编译)以下说的独立编译相关

mysql

linux的环境安装问题,算是个基础活儿,但有些环境比较乱,可能有之前残余的版本,卸载不干净会折腾很久,补充一下相关场景问题

netcore Runtime

  1. 运行如下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
  1. 安装.net 5
sudo yum -y install aspnetcore-runtime-5.0
  1. 查看.net 版本
dotnet --info
dotnet --list-runtimes  --查看运行环境
dotnet --list-sdks  --查看sdk
  1. 安装SDK
sudo yum install dotnet-sdk-6.0 -y
  1. 安装运行时
sudo yum install aspnetcore-runtime-6.0
  1. 发布

转到发布目录下执行

dotnet  DatingApi.dll

防火墙是否设置对应的端口为开放:

如需要开放5000端口,输入命令如下:

查询5000端口是否开放:

firewall-cmd --query-port=5000/tcp

当输入为no时,输入命令:

firewall-cmd --permanent --add-port=5000/tcp 

来开放端口

设置完毕后,重启防火墙:

firewall-cmd --reload
nohup 你的shell命令  &

关闭运行的.net Core服务需要通过kill进程来操作

第一步-查询所有运行的服务:ps -A 

第二步-找到dotnet的运行端口

比如我的dotnet运行端口是28644

kill 28644 

回车运行后即可关闭服务

Linux mysql安装

1.查看mysql 安装情况,清理残余

rpm -qa|grep -i mysql

删除命令:rpm -e –nodeps 包名

rpm -ev mysql57-community-release-el7-9.noarch

rpm -ev mysql-community-common-5.7.36-1.el7.x86_64

rpm -ev mysql-community-client-5.7.36-1.el7.x86_64 --nodeps

rpm -ev mysql-community-server-5.7.36-1.el7.x86_64 --nodeps

rpm -ev mysql-community-libs-5.7.36-1.el7.x86_64 --nodeps

rpm -ev mysql-community-libs-compat-5.7.36-1.el7.x86_64 --nodeps

如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1

则用以下命令尝试:

rpm -e --noscripts MySQL-client-5.5.25a-1.rhel5

查找之前老版本mysql的目录、并且删除老版本mysql的文件和库、

find / -name mysql

删除对应的mysql目录

rm -rf /var/lib/mysql

rm -rf /var/lib/mysql

rm -rf /usr/lib64/mysql

安装mysql8.0

1、yum仓库下载MySQL:

sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

2、yum安装MySQL:

sudo yum install mysql-community-server

如果安装中出现以下错误

The GPG keys listed for the "MySQL 8.0 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: mysql-community-icu-data-files-8.0.29-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

原因是Mysql的GPG升级了,需要重新获取

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

3、启动MySQL服务:sudo service mysqld start

4、检查MySQL服务状态:sudo service mysqld status

5、查看初始密码(如无内容直接跳过):sudo grep 'temporary password' /var/log/mysqld.log

6、本地MySQL客户端登录:mysql -uroot -p

7、输入密码为第5步查出的,如果没有,直接回车,然后输入命令  flush privileges

8、修改root登录密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';(注意要切换到mysql数据库,使用use mysql)

注意:开始遇到问题是不输入密码或输错密码都能连接MySQL server,后来在修改允许阿里CentOS7允许远程操作MySQL数据库时,

才发现需要去调整 /etc/my.cnf文件,注释掉skip-grant-tables,重启MySQL服务(sudo service mysqld restart),quit退出连接,重新连接就需要输入密码了

后期如果忘记密码,可以通过skip-grant-tables配置跳过输入密码登录MySQL,执行7、8步进行修改,如果‘root’@'localhost'变为'root'@'%',那么alter语句中的也要修改

  1. 配置MySQL允许外部访问:

1)首先设置阿里云安全组规则入方向,支持MySQL端口3306可访问(协议类型下拉菜单中有MySQL端口)

 2)服务端登录MySQL,use mysql;然后执行select user,host from user可查看用户及对应允许访问主机然后执行update user set host = '%' where user ='root';允许任何外部可访问;再执行上一步查看命令,可比较结果

10、如此即可连接

补充:show global variables like 'port';可查看MySQL服务端口,如果看到的value为0,则说明没有使用密码登录,需要去修改my.cnf文件;

my.cnf文件也可以通过port=3306来指定MySQL服务端口,重启MySQL服务即可

防火墙端口配置

iptables -I INPUT -p tcp -m multiport --dports 80,5000,3306 -j ACCEPT