Linux踩坑记录,随缘更新

Linux踩坑记录,随缘更新

真香,是人类的本质,本人是个前端仔,以为不用接触Linux,所以当初学校组织的培训就去上了一天,结果安装了虚拟机半天,最后连个vim都打不开,所以就不去上了,去继续学vue了,直到现在做了个全栈项目,想上传到阿里云时,才发现要用linux,当然也可以选择window系统的,但是本着学习为目的,还是选择了linux系统。

本文的适用读者是完全的新手,且并不是专门学linux,以下均为亲测有效的内容。

阿里云 CentOS7 安装node环境

注意

  1. 请不要在选择阿里云应用镜像时,请不要选择nodejs的镜像,因为它版本太低了,当初本人也是用这个镜像,结果以为自带的,可以使用node命令,结果不行,所以按照教程安装了node,明明是v11.0.0版本的,结果安装后的版本却是v4
  2. 在下载时请使用二进制文件,这样不用编译,不然可能还要安装gcc,Node版本过高的话,还要升级gcc,也是麻烦。
  3. 不要完全按照菜鸟教程里的CentOS安装node的方法,因为下载的文件需要编译。
  4. 不要完全按照菜鸟教程里的linux安装node的方法,里面软链接设置有些问题,和阿里云node解压后的路径不同。

安装node步骤

我用的是阿里云官网的远程连接,就没去下载什么远程连接的工具了,远程连接后会出现个黑框,可以输入命令行的。

以下均为亲测有效的步骤:

  • 切换用户
sudo su root
  • 下载二进制文件,以12.16.1版本为例

如果想要下载别的版本的话,自行到http://nodejs.org/dist/查找,注意后缀,要的是linux-x64.tar.xz

wget http://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz 
  • 解压
tar xf  node-v12.16.1-linux-x64.tar.xz      
  • 移动文件夹

mv 源文件 目标路径

目标路径,如果没有的文件夹系统会自己去创建

mv node-v12.16.1-linux-x64 /usr/local/nodejs
  • 用vim打开相关文件配置环境变量
vim /etc/profile
  • 找到指定位置

在文件中找到这行代码export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

  • 书写环境变量

在之前找到的那串代码的上面,添加如下内容

export NODE_HOME=/usr/local/nodejs
export PATH=$NODE_HOME/bin:$PATH
  • 退出并保存

esc键,进入命令行模式,再依次按:wq,回车,如此就退出了vim

  • 编译/etc/profile 使配置生效
source /etc/profile
  • 测试
node -v
npm -v

如果输出版本,则证明安装node环境成功了。

如果再次连接服务器,发现node命令不管用了,别着急,再执行一次source /etc/profile即可

安装mysql

注意

参考菜鸟教程,虽然有些命令会报错,但你们很幸运,本人已经帮你们把坑填了。

如果是想用node连接mysql的,最好不要安装8.0以上的版本

安装步骤

  • 按照菜鸟教程提供的步骤,这四条目前还没啥子问题的

依次输入

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server

在执行yum update之后,会有让你确定是否要下载,都选择y

  • 权限设置
chown mysql:mysql -R /var/lib/mysql
  • 初始化
mysqld --initialize

本人到这里报错了,错误代码如下

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-24 18:07:59 0 [Note] mysqld (mysqld 5.6.43) starting as process 16404 ...
2019-04-24 18:07:59 16404 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

2019-04-24 18:07:59 16404 [ERROR] Aborting

2019-04-24 18:07:59 16404 [Note] Binlog end
2019-04-24 18:07:59 16404 [Note] mysqld: Shutdown complete
  • 解决初始化报错

用vim打开相关文件,vim /etc/my.cnf,在[mysqlId]下添加如下内容

explicit_defaults_for_timestamp=true
user=mysql

添加完成后,按esc,再按:wq,退出并保存。

解决方案原文:https://www.cnblogs.com/zhangwy1024/p/10764249.html

解决完报错后,再进行初始化 mysqld --initialize

  • 启动mysql
systemctl start mysqld
  • 查看mysql运行状态
systemctl status mysqld
  • 检查mysql是否安装成功
mysqladmin --version

如果输出任何信息,证明安装失败,理论上应该不可能,因为本人也是这么安装的。

  • 进入mysql
mysql

本人到这里报错了,报错信息如下

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决方法:

 ps -A|grep -i  mysql

如果输出类似下面的信息,那么 kill 杀死就好

 13284 ?        00:00:00 mysqld_safe
 13422 ?        00:01:33 mysqld
kill 13284
kill 13422

杀完之后再次输入mysql,如果还是报同样的错误,那么再次输入ps -A|grep -i mysql,如此反复直到杀干净为止,这样就能顺利的进入mysql了

解决方案参考:https://www.cnblogs.com/lvhanzhi/p/10483306.html

进入mysql后输入

SHOW DATABASES;

如果有返回类似的信息,证明没啥大问题了

+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+

之后就是改密码了

输入quit,退出mysql

  • 重置密码

最好是包含英文字母和数字,还有特殊符合的,比如*\之类的

mysqladmin -u root password "new_password";

接下来会有个警告,不过不用理会,如果你的mysql没什么重要数据的话

接下来重新进入mysql,看成不成功

mysql -u root -p

回车输入密码,这时输入发现没有类似**的出现,这是正常现象,放心输入即可。

posted @ 2020-03-23 12:54  司徒炼  阅读(786)  评论(0编辑  收藏  举报