zoukankan      html  css  js  c++  java
  • 蛙蛙推荐:蛙蛙教你配置linux+mysql+.net环境

    摘要:.net一般配合sqlserver使用,但mysql在性能和成本上也很有优势,本文介绍如何搭建一个mysql服务器,以及演示如何用.net使用mysql数据库。

    一、安装linux
    一般PHP环境的最佳组合是LAMP(linux+apache+mysql+php),说明mysql在linux下是最合适的,所以我们先装linux,因为我们在linux下只运行mysql服务,所以选择一个没有x-window的发行版本就行了,最终选择了unbuntu系列的jeos,目前(2008-12-25)最新版本是8.04.1,下载地址如下。
    http://cdimage.ubuntu.com/jeos/releases/8.04/release/
    jeos是Just enough Operation System的简写,只是一个linux内核加一些主要的控制台工具,没有窗口界面,甚至连telnet和ftp服务也没有,但我们要管理服务器和传文件,必须得装这两个服务。
    下载了jeos后,再装一个虚拟机,vpc肯定不行,只能选择ms的操作系统,据说有人选了other装jeos也启动不起来,所以大家不要试了。vmware 5.x有绿色版,大家也不要试了,我试了两宿,装了N遍,死活启不来,那就用vmware6.5版,新建虚拟机的时候选择自定义,然后硬盘选择IDE(第一个选择磁盘适配器的地方IDE适配器不能选择,那里不u用管,下一步创建磁盘的界面选择IDE就可以了),这点一定要注意,否则装完了启不来,我都试过N次了。
    新建好虚机后,网卡选择桥接模式,光驱里选择上下载下来的jeos-8.04.1-jeos-i386.iso文件,然后启动虚机,就开始安装了,大概就是以下几个步骤,和装windows差不多。
    装之前拔掉网线,切记,因为有一步是在线下载apt列表,默认的apt源在外国,太慢,浪费时间,装好了咱们再设置。
    1、选择语言-汉语
    2、选择安装
    3、键盘检测-选否
    4、键盘选择-选english
    5、探测硬件,加载额外组件,探测网络硬件-无需人工干扰
    6、配置网络,使用DHCP设置IP-因为拔掉网线,肯定获取不到,然后选以后再配置网络
    7、请输入主机名-默认叫unbuntu
    8、探测磁盘,分区-选择用向导分区,弹出对话框选是,把分区表信息写在引导区
    9、安装软件,grup-无需人工干扰
    10、新建用户-重复输入两次用户名和密码,我加了个huhao的用户,root当然会自动添加,这个用户是你新加的,平时用这个用户,需要管理员权限的时候再su root
    11、安装完成,取出光驱里的ISO文件,重启电脑

    以下链接有安装截图等,大家可以看看,它是手工分区,我们不学他,而且他里面没有加新用户的步骤,可能忘了写了。

    JeOS安装一瞥
    http://forum.ubuntu.org.cn/viewtopic.php?f=103&t=89602&start=0

    二、初始化linux环境
    重启后出现登陆界面,输入用户名huhao和密码,进去后su root,不知道密码,所以先要用以下命令给root设置上密码
    sudo passwd root
    回车后输入huhao用户的密码,然后输入两次root的密码就给root设置上密码了,然后用以下命令切换到root用户
    su root
    回车后输入刚刚设置的密码,linux的目录访问命令和dos差不多,进入某个目录是cd,拷贝是cp,查看目录是ls,ls -l相当于dos的dir,学会这几个常用的命令就可以查看所有文件了。

    然后我们设置网络,对应于windows的ipconfig的命令是ifconfig,if是internet face的缩写应该,可以看到有Io和eth0两个网络适配器,其中Io是本地loopback地址,相当于127.0.0.1,eth0是真正的网卡,我们要设置eth0为利用DHCP自动获取IP,网络的配置路径是/etc/network/interfaces,linux下的常用文本编辑器是vi,对应于dos的edit命令,简单说下vi的常用使用方法
    vi有三种模式,命令模式是默认的,可以输入一些插入,删除等命令,插入模式就是可以插入字符,试图模式可以选择文本块。在其他模式下按esc键总可以回到命令模式,在命令模式下可以用方向键上下移动光标,如果在abc的b后面加入一个1,成为ab1c,可以把光标定位在b上,然后按a键,然后输入1就行,或者把光标放在c上,按i键,然后ctrl+b上向上翻屏,ctrl+f是向下翻屏,x是删除一个字符,dd是删除一行字符,在命令模式下按v键进入可是模式,然后用方向键可以选择文本块,选择文本块后按y键是复制锁选择的文本,按yy是复制一行,然后把光标输入到新的一行,按shif+p是粘贴,如果在一行的下面新插入一行文本,是按o,还有常用的就是全局查找替换功能,在命令模式下输入:%s /abc/ABC就是把整篇文档的abc替换成ABC,多单词替换我也不会,最后就是输入:wq!是保存退出,输入:q!是不保存退出,输入:w是保存,更多的命令可以查看以下文档,多练习就行,vi很常用。
    文件编辑器 vi
    http://www.linuxsir.org/main/?q=node/206

    都忘了说到哪儿了,我们要配置网卡为自动获取IP,用vi打开/etc/network/interfaces文件,对了,在linux下文件的扩展名不重要,有的文件都没有扩展名,所以不要奇怪,用以下命令打开配置文件。
    vi /etc/network/interfaces
    打开配置文件的时候一般要用root账户,如果用别的账户用以下命令打开
    sudo vi /etc/network/interfaces
    更多关于sudo的用法,参考如下链接
    Linux操作系统下Sudo命令的使用方法说明
    http://www.builder.com.cn/2007/1127/656207.shtml
    用上面说的vi的使用方法,最终把文件编辑成如下

    auto lo eth0
    iface lo inet loopback
    iface eth0 inet dhcp

    输入:wq!保存退出
    用如下命令,重启网卡适配器
    sudo /etc/init.d/networking restart
    再用ifconfig可以看到eth0获取到了IP,如果获取不到,实在不行重启下虚拟机,当然前提是你的网络里有DHCP服务,然后linux下也有ping命令,你可以ping一下本机,看看能否通,当然你的机器要打开ICMP。

    网络搞好了,我们得想办法安装telnet和ftp服务,这些服务jeos默认没带,可以用apt来安装,apt是一种比较快捷的安装软件的方式,具体我也不懂,大概就是从网上自动下载文件,然后打命令就可以安装服务的一个东西,既然要从网上获取东西,肯定得选择个访问速度快的服务器,别看网上说的什么cn99的服务器快,快个P,还我编辑了半天,当时vi还用的不熟练,编辑好了,一个东西也下载不下来,列表都更新不鸟,最后一看,那个域名压根就ping不同,最后我才又换了一组服务器,是杭州的双线服务器,具体帖子如下。
    cn99今天连不上了,我又找到一个比较快的源!
    http://forum.ubuntu.org.cn/viewtopic.php?f=52&t=158755

    apt源的路径是/etc/apt/sources.list,一般配置都在etc/目录下
    进入目录并备份
    cd /etc/apt
    sudo cp sources.list sources.list.backup

    然后用vi打开这个文件,把所有东西都删除,最后改成如下样子,注意里面有个单词是是hardy,有的帖子那个位置是gutsy,不要奇怪 ,gutsy是unbuntu 7.xx,hardy是8.04.x

    deb http://mirror.lupaworld.com/ubuntu hardy main restricted universe multiverse
    deb http://mirror.lupaworld.com/ubuntu hardy-security main restricted universe multiverse
    deb http://mirror.lupaworld.com/ubuntu hardy-updates main restricted universe multiverse
    deb http://mirror.lupaworld.com/ubuntu hardy-backports main restricted universe multiverse
    deb http://mirror.lupaworld.com/ubuntu hardy-proposed main restricted universe multiverse
    deb-src http://mirror.lupaworld.com/ubuntu hardy main restricted universe multiverse
    deb-src http://mirror.lupaworld.com/ubuntu hardy-security main restricted universe multiverse
    deb-src http://mirror.lupaworld.com/ubuntu hardy-updates main restricted universe multiverse
    deb-src http://mirror.lupaworld.com/ubuntu hardy-backports main restricted universe multiverse
    deb-src http://mirror.lupaworld.com/ubuntu hardy-proposed main restricted universe multiverse

    修改完apt源后用如下命令更新本地的apt缓存
    sudo apt-get update

    更新缓存很快,大约几分钟就O了。
    然后安装telnet和Ftp服务,最常见的就是telnetd和ftpd两个软件,用如下命令安装。
    sudo apt-get install telnetd
    sudo apt-get install ftpd
    这两个软件小,下载和安装几分钟就可以了,安装后用netstat -na命令查看,21,23端口都监听了。

    在本地机器上,用telnet和ftp命令访问下jeos,可以访问就行了,至此一个能远程管理,并能传送文件的linux服务器就装好了。

    以上过程主要参考如下链接
    打造属于自己的ubuntu jeos(1)--安装及网络配置
    http://www.blogjava.net/aoxj/archive/2008/04/18/194103.html
    打造属于自己的ubuntu jeos(2)--安装基本软件及java开发环境
    http://www.blogjava.net/aoxj/archive/2008/04/19/194184.html

    三、安装配置mysql
    有了apt,安装mysql也很简单,下面一个命令搞定
    sudo apt-get install mysql-server
    mysql服务器大约有100多M,不过咱们的源的速度快,每秒100多K,我洗了澡出来就装好了,中间需要输入mysql root账户的密码,别的啥也不用管,因为我们架设的是服务器,所以只装mysql-server就行了。
    默认安装好后用netstat -na命令查看mysql的默认端口3306已经监听了,不过是坚定在本地回环地址127.0.0.1上的,这样别的机器就没法访问,所以我们要把这个地址改成服务器的真是地址,用ifconfig查看eth0的IP,我这里是192.168.50.35,用vi打开mysql的配置文件
    sudo vi /etc/mysql/my.cnf
    找到[mysqld]小节,这个文件类似windows下ini文件的格式,该小节下有一行如下
    bind-address=127.0.0.1
    把它改成
    bind-address=192.168.50.35
    其中192.168.50.35是服务器从DHCP上获取的IP,修改的时候注意格式和空格,人家以在等号前面后面是多少个空格就是多少个空格,是制表符就是制表符,其实我也不确定多个空格或者少个空格影响不影响。
    然后如果有skip-networking一行的话改成# skip-networking,前面加#表示注释掉词句的意思。
    输入如下命令重启mysql服务
    /etc/init.d/mysql restart
    现在ifconfig就可以看到监听192.168.50.35的3306端口了
    然后就可以登录mysql了,用如下命令
    mysql -u root -p
    回车后输入密码(安装的时候设置的)进入mysql的提示符mysql>
    输入如下回车
    GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'password';
    表示允许root用户在任何机器上登录和管理任何库,其中*.*可以换成foo.*,表示foo库下的任何东西,'password'是root的密码,'%'表示任何机器,以上命令是我后来总结的,不知道管不管用,应该管用的。我实验成功的语句是先创建个库,再给这个库授权,如下命令。
    mysql> CREATE DATABASE foo;
    mysql> GRANT ALL ON foo.* TO bar@'%' IDENTIFIED BY 'password';
    记住mysql的每条语句是分号结束,回车后执行,退出mysql的命令是exit

    以上主要参考如下链接
    在ubuntu JeOS 7.10系统上安装和设置mysql
    http://blog.chinaunix.net/u2/77682/showart_1154173.html
    http://www.5dlinux.com/article/1/2007/linux_10186.html

    How Do I Enable Remote Access To MySQL Database Server?
    http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

    现在本地telnet 192.168.50.35 3306是通了,我们要管理mysql,还要下载MySQL Control Center,地址如下
    http://www.newhua.com/soft/18822.htm
    下载下来,装好后,新建一个mysql服务器连接,host输入192.168.50.35,用户名root,密码password,点connect会提示如下错误
    #1251 Client does not support authentication protocol
    这个问题官方有解释,如下
    B.1.2.4. Client does not support authentication protocol
    http://dev.mysql.com/doc/refman/5.1/en/old-client.html

    具体操作如下,进入mysql命令,查看用户信息
    SELECT * FROM mysql.user

    可以看到目前只有一个root用户
    然后执行以下语句
    update mysql.user SET Password = OLD_PASSWORD('password') where Host = '%' AND User = 'root';
    其中%是主机名,如果SELECT * FROM mysql.user是%,那里就填写%,如果是主机的IP就换成主机的IP,最终要执行该语句后有一行记录更改。
    然后用一下命令刷新数据库。
    FLUSH PRIVILEGES;
    到此再用mysql cc就可以连接了。


    四、用.net访问mysql
    先下载适当版本的MySQL Connector/.NET,我的mysql是5.0,用以下连接下载
    http://dev.mysql.com/downloads/connector/net/5.0.html
    查看mysql版本的命令如下,注意大小写
    mysql -V
    下载下来后,引用MySql.Data.dll,引用MySql.Data.MySqlClient命名空间,然后以ADO的方式访问数据库就行了,我刚才用mysql cc在foo库下建立了一个users的表,里面有一个varchar的字段username,我们在这个表里添加一条记录,并显示出来,代码如下
    using System;
    using MySql.Data.MySqlClient;

    namespace ConsoleTest
    {
        internal class Program
        {
            private static void Main(string[] args)
            {
                MySqlConnection conn = new MySqlConnection("server=192.168.50.35;user=root;password=password;database=foo");

                MySqlCommand command = new MySqlCommand("INSERT INTO users values('onlytiancai');", conn);
                conn.Open();
                command.ExecuteNonQuery();

                command = new MySqlCommand("SELECT username FROM users;", conn);
                string ret = command.ExecuteScalar().ToString();
                Console.WriteLine(ret);
                Console.ReadKey();
            }
        }
    }

    小节:.net+mysql的环境架设好了,更深入的了解mysql和linux就多看书,多看资料了,相信.net+mysql也是一个适合大多中小企业的不错的选择。

    参考链接:

    Linux服务器傻瓜式安装完全手册
    http://os.yesky.com/lin/202/7525202_1.shtml
    Linux系统内核有待提高的七个领域
    http://os.yesky.com/lin/244/7693244.shtml
    使用 Linux LiveCD
    http://www.ibm.com/developerworks/cn/linux/l-livecd.html
    KNOPPIX 简体中文版 使用和定制指南
    http://www.maxidea.org/project/knoppix/doc/knoppix_custom_guide.html
    Knoppix Linux 中文版
    http://www.woodfox.net/glyoung/linux/knoppix-zh/
    Ubuntu Linux 最小精简版 (Ubuntu JeOS)[ISO]
    http://www.qdz.cc/download/qdz-softdown-398.html
    Linux命令——入门
    http://os.rdxx.com/Linux/LinuxRudiment/2008/12/217404499131.shtml
    文件编辑器 vi
    http://www.linuxsir.org/main/?q=node/206
    MySQL 优化(一)
    http://imysql.cn/2006_03_05_mysql_optimize_1
    在Linux下安装和使用MySQL
    http://www.yesky.com/187/1754687.shtml
    深入浅出MySQL——数据库开发、优化与管理维护
    http://book.csdn.net/bookfiles/667/
    多任务下的数据结构与算法
    http://book.csdn.net/bookfiles/65/

    ubuntu下安装MySQL安装指南
    http://www.lovelaozang.cn/show-678-1.html
    在Red Hat Linux下安装MySQL
    http://lovelaozang.cn/show-6745-1.html

    转发 Ubuntu 最小精简版 只有151M
    http://hi.baidu.com/flfxt/blog/item/154d86775756bc1fb151b96d.html
    Ubuntu-JeOS 8.04.1 (Hardy Heron)
    http://cdimage.ubuntu.com/jeos/releases/8.04/release/
    Ubuntu 8.04.1 jeos的安装
    http://blog.chinaunix.net/u2/66515/showart_1678388.html
    虚拟机软件Vmware Workstation 5.0使用指南
    http://www.winos.cn/articles/vmware5/vmware5.html

    让你自己的邮件服务器在互联网上畅行无阻
    http://www.cnblogs.com/ublue2006/archive/2008/12/23/1360247.html
    JeOS安装一瞥
    http://forum.ubuntu.org.cn/viewtopic.php?f=103&t=89602&start=0
    Ubuntu 8.04.1 jeos的安装
    http://www.91linux.com/html/linux_pub/ubuntu/20081204/14286.html

    打造属于自己的ubuntu jeos(1)--安装及网络配置
    http://www.blogjava.net/aoxj/archive/2008/04/18/194103.html
    打造属于自己的ubuntu jeos(2)--安装基本软件及java开发环境
    http://www.blogjava.net/aoxj/archive/2008/04/19/194184.html

    在ubuntu JeOS 7.10系统上安装和设置mysql
    http://blog.chinaunix.net/u2/77682/showart_1154173.html
    http://www.5dlinux.com/article/1/2007/linux_10186.html

    不错的ubuntu - sources.list源
    http://xuming.net/2008/08/ubuntu-sources-list.html
    cn99今天连不上了,我又找到一个比较快的源!
    http://forum.ubuntu.org.cn/viewtopic.php?f=52&t=158755
    Downgrading from Hardy to Gutsy?
    http://ubuntuforums.org/archive/index.php/t-623058.html
    Linux操作系统下Sudo命令的使用方法说明
    http://www.builder.com.cn/2007/1127/656207.shtml

    Ubuntu Linux下Java环境的搭建和Eclipse的安装(转)
    http://blog.tongji.net/index.php/159663/viewspace-5621.html
    How Do I Enable Remote Access To MySQL Database Server?
    http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

     Mysql wont start after adding bind-address to my.cnf
     http://ubuntuforums.org/showthread.php?t=296083
    Mysql入门系列:安全网络访问mysql数据库服务器
    http://tech.ddvip.com/2006-12/116755660917125.html
    ? 小火车深圳–>阳朔 ?
    解决方案:phpMyAdmin无法登陆,#1251 Client does not support authentication protocol
    http://www.v2op.com/blog/2008/04/解决方案phpmyadmin无法登陆,1251-client-does-not-support-authentication-protocol/

  • 相关阅读:
    Linux-RedHat 手动创建RAID和LVM分区
    Centos 文件系统 xfs、ext4、ext3 的区别
    CentOS7.5 rpm方式安装MySQL8.0.13
    virtualbox-host-only模式主机能上网虚拟机无法上网的问题解决
    RPA-智能流程自动化解决方案
    论文笔记——Rethinking the Inception Architecture for Computer Vision
    论文笔记——Factorized Convolutional Neural Networks
    论文笔记—Flattened convolution neural networks for feedforward acceleration
    论文笔记——Data-free Parameter Pruning for Deep Neural Networks
    AlexNet网络结构特点总结
  • 原文地址:https://www.cnblogs.com/onlytiancai/p/linux_mysql_dotnet.html
Copyright © 2011-2022 走看看