Linux服务器学习

Posted 张利锋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux服务器学习相关的知识,希望对你有一定的参考价值。

1、使用虚拟机安装,内存1G,硬盘最大100G,加载ios文件版本: Ubantu 14,安装完成

  我遇到了菱形乱码问题,解决方案:

  执行命令:vim /etc/default/locale

  修改为:

  LANG="en_US.UTF-8"

  LANGUAGE="en_US:en"

2、安装ssh 

  sudo apt-get install openssh-server(由osc网友 火耳提供)

  启动命令:service ssh start  ,安装完成后可以使用 xshell5连接 服务器。

 

Redis学习相关

1、安装redis

  打开官网,右键复制redis包,如下图

  

 

  然后在linux服务器上 执行 wget http://download.redis.io/releases/redis-5.0.7.tar.gz ,下载完成后,执行 tar xf redis-5.0.7.tar.gz 解压

  进入目录,首先阅读 README.md 

  可以使用make 命令安装,如果make报错,解决问题(apt-get install gcc),然后执行 make distclean 。之后继续make 。 完成后可以执行 make PREFIX=/opt/bigdata/redis5 install  

  然后设置环境变量:

  vim /etc/profile 全局环境变量

  vim ~/.bashrc  个人环境变量

  export REDIS_HOME=/opt/redis5
  export PATH=$PATH:$REDIS_HOME/bin
  source ~/.bashrc

  拷贝以后,可以使用 源码包里面的 utils/install_server.sh 安装后端服务。  安装完成后,就可以在 /etc/init.d/目录下看到可执行service 。 

 

  可以使用命令 servcie redis_6379 status 查看状态

  修改配置文件:/etc/redis  ,下面有 6379.conf 和6380.conf 

  修改6379 ,注释 # bind 127.0.0.1 ,然后修改  requirepass zlfredispwd  ,后面就是密码。

  然后就可以再代码里面用过 IP : 6379  ,  password:zlfredispwd   连接了

 

mysql 5.7  安装

  ubuntu 系统,直接执行: sudo apt-get install mysql-server

   有的系统会直接弹出设置root密码界面,设置即可。如果未弹出,则可以安装完成后手动设置。

  设置方法:使用命令mysql 进入mysql,

    

    show databases;

    use mysql;

    update user set authentication_string=PASSWORD("自定义密码") where user=\'root\';

    update user set plugin="mysql_native_password";

    flush privileges;

    quit;

   然后重启mysql   /etc/init.d/mysql restart;

 

设置远程访问:

mysql5.7 版本:
vi /etc/mysql/mysql.conf.d/mysqld.cnf;  //将bind-address = 127.0.0.1 修改成 bind-address = 0.0.0.0

mysql5.7以前的版本:
vi /etc/mysql/my.cnf;  //将bind-address = 127.0.0.1 修改成 bind-address = 0.0.0.0 ,或注释掉即可

 注释 bind-address = 127.0.0.1

 

新建用户

use mysql;
select host,user from user;(查看现有用户)
CREATE USER \'king\'@\'localhost\' IDENTIFIED BY \'123456\';(新建用户);
select host,user from user;(再次查看用户)

赋权限

GRANT ALL PRIVILEGES ON *.* TO \'king\'@\'%\' IDENTIFIED BY \'123456\' WITH GRANT OPTION;
flush privileges;

注:king表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个123456表示密码

 

 

     配置: /etc/mysql/my.cnf

     命令目录: /usr/bin 

    修改密码: /usr/bin/mysqladmin -u root password root123     , root123就是新密码

  修改密码:

  查看字符集:

    show variables like \'%char%\';

  修改编码:

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
default-character-set=utf8

[client] 下面也增加

default-character-set=utf8

[mysqld]

character_set_server=utf8
character_set_client=utf8
collation_server=utf8_general_ci

重启生效,注意:修改只对后面创建的数据库生效 

  查看支持引擎:show engines;

赋权限给某用户 某个库的权限, test_quick_collect为库名, test_user为用户名  “%” 代表不限制IP,也可以为IP段 。 “123qwe” 为密码

grant select,insert,update,delete on test_quick_collect.* to test_user@\'%\' identified by \'123qwe\';

 

因在网络部署了MySQL服务器,目前没有负载,本地连接的时候速度也正常,但就是通过网络连接的时候特别慢,最后检查发现原来是DNS解析的问题

在MySQL的配置文件/etc/my.cnf中的[mysqld]下加入

skip-name-resolve

重新启动,测试速度正常。

 

使用Linux定时任务:

service crond start 启动定时任务

service crond status 查看定时任务状态

crontab -e 为当前用户增加定时任务

 

以上是关于Linux服务器学习的主要内容,如果未能解决你的问题,请参考以下文章

向Linus学习,让代码具有good taste

[linux][c/c++]代码片段01

[linux][c/c++]代码片段02

IOS开发-OC学习-常用功能代码片段整理

golang代码片段(摘抄)

java SpringRetry学习的代码片段