Linux踩坑记录,随缘更新
Linux踩坑记录,随缘更新
真香,是人类的本质,本人是个前端仔,以为不用接触Linux
,所以当初学校组织的培训就去上了一天,结果安装了虚拟机半天,最后连个vim
都打不开,所以就不去上了,去继续学vue
了,直到现在做了个全栈项目,想上传到阿里云时,才发现要用linux
,当然也可以选择window系统的,但是本着学习为目的,还是选择了linux
系统。
本文的适用读者是完全的新手,且并不是专门学linux
,以下均为亲测有效的内容。
阿里云 CentOS7 安装node环境
注意
- 请不要在选择阿里云应用镜像时,请不要选择nodejs的镜像,因为它版本太低了,当初本人也是用这个镜像,结果以为自带的,可以使用node命令,结果不行,所以按照教程安装了node,明明是
v11.0.0
版本的,结果安装后的版本却是v4
。 - 在下载时请使用二进制文件,这样不用编译,不然可能还要安装gcc,Node版本过高的话,还要升级gcc,也是麻烦。
- 不要完全按照菜鸟教程里的CentOS安装node的方法,因为下载的文件需要编译。
- 不要完全按照菜鸟教程里的
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
回车输入密码,这时输入发现没有类似**的出现,这是正常现象,放心输入即可。