时间:2021-07-01 10:21:17 帮助过:2人阅读
首先简单介绍下安装吧:
使用rvm(Ruby Version Manager一款非常好用的ruby版本管理以及安装工具)你会发现Ruby安装真的是It‘s so eary
(1)安装rvm:
网上说的安装命令是curl -L get.rvm.io | bash -s stable
但是发现不行,正确命令是
curl -k https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
好了。默默的等着他安装rvm吧。安装好rvm其实就基本上就KO了。下面安装Ruby吧!
(2)安装ruby
查看已有的ruby版本:rvm list known
安装一个指定版本:rvm install 2.2.1
使用指定版本并设置为默认:rvm use 2.2.1 --default
查询已经安装的ruby: rvm list
卸载一个已安装版本: rvm remove 1.9.2
在使用rvm安装Ruby时会自动给我们安装上一个叫RubyGems(简称 gems)的东东。它用于对 Ruby组件进行打包的 Ruby打包系统。 但是 必须支出的是我国的特殊情况,在使用gems可能超时需要我们修改镜像
(3)修改镜像
使用命令gem source --add ‘http://ruby.taobao.org/‘ 修改成淘宝的镜像。
gem source -l 命令查看镜像
更详细的请看:http://ruby.taobao.org/
好了至此安装完成了。
第二 通过ssh连接mysql
我本以为可以开启我Ruby的神之旅时被卡住了卡死了。因为公司对线上的机器全部采用的是跳板机。连接时连不上啊。网上找教程各种坑啊。都是一份代码反复复制唉!让我们这些菜鸟怎么学习啊!!!我要在本地(A)通过跳板机(B)连接数据库机器(C)。怎么玩都玩不转啊。我闭关苦思冥想了几天还是没法解决。神一样的Ruby之旅难道就次卡住.....NO今天天一道紫色闪电划过天空。我懂了...记录如下
(1)安装各种插件(我是这么理解的)
使用gem命令安装插件:在 https://rubygems.org/ 上搜索你想要的插件
想连接mysql至少得安装mysql连接插件吧:
gem install mysql2
当然这样的前提是你安装了mysql并配置好了环境。如果你自己本地没有安转好。我只能说如果成功纯属巧合。
想要进过跳板机只是得安装net-ssh-gateway吧
gem install net-ssh-gateway
(2)敲代码吧
新建一个.rb的文件写吧:
# encoding: utf-8 require ‘rubygems‘ require ‘mysql2‘ require ‘net/ssh/gateway‘ begin puts "Initializing Ruby Program" puts "Initializing ssh" @gateway = Net::SSH::Gateway.new( ‘HostB‘, ‘User‘, :password => ‘********‘, :port => ‘22‘ ) @port = @gateway.open(‘HostC‘,3306,3307)#注意3306是你数据库的端口号至于3307是随便选的,只要没被占用 if @gateway.active? puts "ssh success connect" end puts "Initializing mysql" @client = Mysql2::Client.new( host:‘127.0.0.1‘,#注意这里是本地不用改的。我就是改了这儿才被坑的啊 username:‘root‘, password:‘mysqlpassword‘, database:‘DB‘, port:@port ) puts "connected mysql" res = @client.query("SELECT * FROM T_XXXXX") puts "The count #{res.count}个" puts "The fields of the res:#{res.fields}" puts "The each row:" i=0; res.each do |row| i+=1 puts "第#{i}行#{row}" end puts "close mysql" @client.close puts "free ssh" @gateway.close(@port) @gateway.shutdown! puts "Terminating Ruby Program" end
注意HostB:跳板机的host;HostC:数据库的host。
至此终于可以开始我以后写Ruby脚本的装B模式啦......
Ruby安装并连接数据库
标签: