zoukankan      html  css  js  c++  java
  • 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
    

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

  • 相关阅读:
    bootstrap-treeview中文API 以及后台JSON数据处理
    @RequestMapping与@ModelAttribute 套路
    shiro文档
    自定义页面方法:${fns:sayHelloToName('zxw')}
    如何正确设置博客园的个人博客访问量-百度统计
    如何给博客园的博客添加时钟
    如何给自己的博客园的博客增加打赏设置
    python-turtle-画雪花-2种方法及效果的详解
    CUP监测1分钟(60s)的python的matplotlib动态作图
    tkinter+pickle+python的一个登录界面设计
  • 原文地址:https://www.cnblogs.com/tourey-fatty/p/12551540.html
Copyright © 2011-2022 走看看