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 为当前用户增加定时任务