【转】在已有MariaDB的linux上装mysql

转载自:在已有MariaDB的linux上装mysql


背景:

海康服务器上依赖并预装了MariaDB数据库,经过多次沟通依旧海康数据库对外开放。只能再安装一个。

前期查看工作:

MariaDB配置文件在 /etc/my.cnf

开始安装:

(第一次安装的mysql8.18,装后权限设置有点麻烦。遂当机立断重装了mysql5.7.28)

安装采用解压版本

下载完,上传。

解压 tar -xvf *******.tar

创建数据目录并赋予权限

groupadd mysql
useradd -r -g mysql mysql

在解压的根目录创建配置文件 my.cnf

[client]
port=3307

default-character-set=utf8
socket=/usr/local/mysql5.7/data/mysql.sock
[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
port=3307
loose_mysqlx_port=33070
basedir=/usr/local/mysql5.7
datadir=/usr/local/mysql5.7/data
socket=/usr/local/mysql5.7/data/mysql.sock
symbolic-links=0
default_authentication_plugin=mysql_native_password

#skip-grant-tables

[mysqld_safe]
log-error=/usr/local/mysql5.7/mysql-log/error.log
pid-file=/usr/local/mysql5.7/data/mysql.pid

因为(mariaDB占用了3306,新装的mysql定义端口为3307)

创建配置文件中的目录和文件 datadir=/usr/local/mysql5.7/data, /usr/local/mysql5.7/mysql-log/error.log 其他的不用创建 初始化后会形成其他文件

初始化

在mysql 的bin目录下

./mysqld –defaults-file=/usr/local/mysql5.7/my.cnf –basedir=/usr/local/mysql5.7 –datadir=/usr/local/mysql5.7/data –user=mysql –initialize

注:–defaults-file=/usr/local/mysql5.7/my.cnf 写在前边,写在后边有可能报错,mysql 的bug。

初始密码可能显示不出来,如果显示不出来就修改my.cnf

在[mysqld]下 把skip-grant-tables注释打开(关闭校验,无密码形式)

启动mysql5.7命令 ./mysqld –defaults-file=/usr/local/mysql5.7/my.cnf –user=root &

进入mysql5.7命令 ./mysql –socket=/usr/local/mysql5.7/data/mysql.sock –port 3307 -u root -p

进入之后修改密码 就可以运行两个数据库了

关闭命令 ./support-files/mysql.server stop

【转】【Linux】Linux系统中/opt 和 /usr目录

转载自:【Linux】Linux系统中/opt 和 /usr目录


重点:usr是Unix Software Resource的缩写,即“UNIX操作系统软件资源”所放置的目录。

Linux 的软件安装目录是有讲究的,理解这一点,对系统管理是有益的。

/usr:系统级的目录,可以理解为C:/Windows

/usr/lib:理解为C:/Windows/System32

/usr/local:用户级的程序目录,可以理解为C:/Progrem Files
用户自己编译的软件默认会安装到这个目录下。

/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。

关于 history 命令的简单使用

1. 如果不想记录当前 会话操作的命令的话 可以使用命令

set +o history

但是这个命令有一个坏处, 他自己被记住了…

2. 还有一个办法 就是 在退出登录之前执行命令

history -r

-r : 将命令历史文件中的内容读入到目前shell的history记忆中

就会将之前的历史记录重新读取过来 就覆盖到本次执行的历史记录命令了.

3. 还有一个命令

history -c

-c: 将目前shell中的所有history命令消除。对命令历史文件没有影响。


参考链接:

[Linux] 关于 history 命令的简单使用

CentOS 7.6 history命令用法及解决history -c不能彻底删除历史命令的问题

【转】nvm介绍、nvm下载安装及使用

节选自:nvm介绍、nvm下载安装及使用


一、nvm介绍
在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。

二、nvm下载安装及使用
2.1 nvm下载
安装包下载地址:https://github.com/coreybutler/nvm-windows/releases,windows系统下载nvm-setup.zip安装包

安装完毕后,找到安装的路径,一些简单配置,打开setting.txt

%AppData%/nvm

在后面添加这两行代码

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

【转】npm ERR, gyp ERR报错

节选自:npm ERR, gyp ERR报错


npm ERR! gyp ERR! node -v v16.4.2
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR! D:\Program Files\nodejs\node_cache_logs\2021-11-22T07_05_15_354Z-debug.log

看了网上很多帖子,查到绝望也没解决,后面直接重新安装了node,nvm,再次运行就终于换个错误报了。
准备再次解决新问题时,大佬让我切换了一个node版本,12.16.0,这就是安装nvm的好处,切一下,再跑终于跑出来了,
nvm install v12.16.0
nvm use v12.16.0
虽然我也不知道这个是什么原理,但我这次切换版本解决了,只知道好多项目都要切换不同的node版本,难道是这个要根据开发该项目的人员开发时的版本才能跑起来,算了,继续做吧

【转】在windows下将go程序打包为linux可执行程序

转载自:Go语言学习(十)在windows下将go程序打包为linux可执行程序


1、打包为windows可执行程序测试
在dos窗口下
cd到main.go所在目录,执行命令:

go build main.go

打包后会生成一个main.exe的程序,在dos窗口运行此exe,测试其是否能正常使用

2、打包为linux可执行程序
在dos窗口下
cd到main.go所在目录,执行命令:

set GOARCH=amd64
set GOOS=linux
go build main.go

打包后会生成一个main程序,将此程序拷贝至linux服务器,两种方式启动:

1、在当前会话执行
./main
2、后台启动
setsid ./main

使用create-react-app 构建react应用(react-scripts)

节选自:使用create-react-app 构建react应用(react-scripts)


前言:

create-react-app 是一个全局的命令行工具用来创建一个新的项目

react-scripts 是一个生成的项目所需要的开发依赖

一般我们开始创建react web应用程序的时候,要自己通过 npm 或者 yarn 安装项目的全部依赖,再写webpack.config.js,一系列复杂的配置,搭建好开发环境后写src源代码。
现在 如果你正在搭建react运行环境,使用 create-react-app 去自动构建你的app程序。你的项目所在的文件夹下是没有配置文件。react-scripts 是唯一的 额外的 构建依赖在你的package.json中,你的运行环境将有每一个你需要用来构建一个现代React app应用程序。你需要的依赖,和在配置文件中编写的配置代码,react-scripts 都帮你写了,比如:react-scripts帮你自动下载需要的 webpack-dev-server 依赖,然后react-scripts自己写了一个nodejs服务端的脚本代码 start.js来 实例化 WebpackDevServer ,并且运行启动了一个使用 express 的Http服务器,现在你只需要专心写src源代码就可以了。省去了很多精力,最适合快速上手一个demo了。

react-scripts有以下支持,都帮你配置好了:
React, JSX, ES6, and Flow syntax support.
Language extras beyond ES6 like the object spread operator.
Import CSS and image files directly from JavaScript.
Autoprefixed CSS, so you don’t need -webkit or other prefixes.
A build script to bundle JS, CSS, and images for production, with sourcemaps.
A dev server that lints for common errors.

Getting Started

安装

npm install -g create-react-app

创建一个应用程序

create-react-app my-app
cd my-app

生成的目录结构

my-app/
  README.md
  node_modules/
  package.json
  .gitignore
  public/
    favicon.ico
    index.html
  src/
    App.css
    App.js
    App.test.js
    index.css
    index.js
    logo.svg

没有配置文件(webpack.config.js)
运行应用程序

npm run start

or

yarn start

在浏览器中打开

http://localhost:3000

VSCode 安装 go扩展包 staticcheck 失败

报错信息:

C:\Users\xxx\go\pkg\mod\honnef.co\go\tools@v0.3.1\go\ir\builder.go:36:2: //go:build comment without // +build comment

解决办法:
1.找到下面的文件,修改文件属性,取消勾选只读。

C:\Users\xxx\go\pkg\mod\honnef.co\go\tools@v0.3.1\go\types\typeutil\typeparams_test.go

2.在第二行增加

// +build go1.18

3.重新安装即可