查看: 1024|回复: 1
打印 上一主题 下一主题

连接MySql数据库_转载

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-6-29 14:12:02 |只看该作者 |倒序浏览
unity3d的安装目录下面的I18N.CJK.dll,I18N.dll,I18N.West.dll,放入工程文件夹Asset下面.



Unity3D 连接MySql数据库

一.在Mac OS X中架设MySql数据库



下载mysql for Mac http://dev.mysql.com/downloads/mysql/5.0.html



可以在Mac OS X 10.2.x(“Jaguar”)和以上版本上Mac OS X使用二进制安装软件包的PKG格式代替二进制分发版来安装MySQL。请注意该软件包不支持旧版本的Mac OS X(例如,10.1.x)。



安装软件包位于硬盘映象(.dmg)文件中,必须首先双击搜索起中的图标来安装该文件。应当安装图像并显示其内容。



注释:在继续安装前,一定要使用MySQL管理器应用程序(在Mac OS X服务器上)或通过命令行的mysqladmin shutdown关闭所有运行MySQL服务器实例。



要想安装MySQL PKG文件,双击软件包图标。将启动Mac OS X安装软件包安装器,将指导你完成MySQL安装。



Mac OS X安装软件包的安装器中有一个缺陷,你会在目标盘选择对话框中发现该错误消息:



You cannot install this software on this disk. (null)



如果出现该错误,只需要点击Go Back按钮返回前面的窗口。然后点击Continue再次选择目标盘,此时应当可以正确地选择目标盘。我们已经向Apple报告了该缺陷,它正在调查该问题。



MySQL 的Mac OS X PKG安装到/usr/local/mysql-VERSION,并且还会安装一个符号连接,/usr/local/mysql,指向新的位置。如果有 /usr/local/mysql目录,首先将它改名为/usr/local/mysql.bak。安装完后,安装器执行 mysql_install_db在MySQL数据库中创建授权表。



安装布局与tar文件二进制分发版类似;所有MySQL二进制代码位于目录/usr/local/mysql/bin中。默认情况,MySQL套接字文件创建为/tmp/mysql.sock



MySQL安装需要Mac OS X的mysql用户账户。在Mac OS X 10.2及以上版本中,默认情况应存在mysql用户账户。



如果正运行Mac OS X服务器,需要安装MySQL。随Mac OS X服务器版本安装的MySQL版本如下表所示:



Mac OS X服务器版本  MySQL版本

10.2-10.2.2         3.23.51

10.2.3-10.2.6       3.23.53

10.3                4.0.14

10.3.2              4.0.16

10.4.0              4.1.10a



节只覆盖官方MySQL Mac OS X PKG版本。一定要阅读Apple关于MySQL安装的帮助信息:运行“帮助视图”应用程序,选择“Mac OS X服务器”帮助,搜索“MySQL”,阅读标题为“安装MySQL”的内容。



对于Mac OS X服务器上已经安装的MySQL版本,如果早于4.0,应特别注意应当使用mysqld_safe而不是safe_mysqld来启动mysqld。



如果你前面在Mac OS X上安装了从http://www.entropy.ch下载的Marc Liyanage的MySQL软件包,你可以只使用该页给出的二进制安装布局按照更新说明来安装。



如果你从Marc的3.23.xx 版本或从Mac OS X的MySQL服务器版本升级到官方MySQL PKG,你还需要将已有MySQL授权表转换为当前格式,因为已经加了许多新的安全权限。



如果你想在系统启动过程中自动启动MySQL,你还需要安装MySQL Startup Item。在MySQL 5.1中,它是Mac OS X安装盘映像的一部分,是一个独立的安装软件包。只需要双击MySQLStartupItem.图标并按照说明来安装。



请注意Startup Item只需要安装一次!不需要在以后每次升级MySQL软件包时都安装它。



MySQL 5.1的Startup Item安装在/Library/StartupItems/MySQLCOM。(在MySQL 4.1.2以前的版本,安装位置为/Library/StartupItems/MySQL,但与Mac OS X服务器安装的MySQL Startup Item冲突)。Startup Item安装时在系统配置文件/etc/hostconfig中加入变量MySQLCOM=-YES-。如果你想要disable自动启动MySQL,只需要将该变量更改为MySQLCOM=-NO-。



在Mac OS X服务器上,默认MySQL安装使用/etc/hostconfig文件中的变量MySQL。MySQL AB Startup Item安装器将其设置为MySQL=-NO-禁用该变量。这样可以避免启动时间与MySQL AB Startup Item使用的MySQLCOM变量冲突。但是,不会关闭运行的MySQL服务器。你应当自己关闭。



安装完后,可以在终端窗口运行下面的命令来启动MySQL。你必须具有管理员权限来执行该任务。



如果你已经安装的Startup Item:



    shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM start


复制代码
(Enter your password, if necessary)



(Press Control-D or enter "exit" to exit the shell)



如果不使用Startup Item,输入下面的命令序列:



    shell> cd /usr/local/mysql

     
   

     
    shell> sudo ./bin/mysqld_safe

     
   

     
    (Enter your password, if necessary)

     
   

     
    (Press Control-Z)

     
   

     
    shell> bg


复制代码
(Press Control-D or enter "exit" to exit the shell)



你应当能够连接MySQL服务器,例如,通过运行/usr/local/mysql/bin/mysql来连接。



注释:MySQL授权表中的账户开始没有密码。启动服务器后,应当按照2.9节,“安装后的设置和测试”中的说明来设置密码。



你可以为外壳源文件起一个别名,使它更容易访问常用的程序,例如从命令行运行mysql和mysqladmin。tcsh语法为:



    aliasMySQL /usr/local/mysql/bin/mysql

     
    aliasMySQLadmin /usr/local/mysql/bin/mysqladmin


复制代码
对于bash,使用:



    aliasMySQL=/usr/local/mysql/bin/mysqlaliasMySQLadmin=/usr/local/mysql/bin/mysqladmin


复制代码
最好是在PATH环境变量中加入/usr/local/mysql/bin。例如,如果外壳命令是tcsh,在$HOME/.tcshrc文件中加入下面一行:



    setenv PATH ${PATH}:/usr/local/mysql/bin


复制代码
如果根目录中没有.tcshrc文件,则用文本编辑器创建该文件。



如果你对已有的安装进行升级,请注意安装新MySQL PKG时不会卸载旧的安装目录。遗憾的是,Mac OS X安装器尚未提供功能来正确升级前面安装的软件包。



要想在新安装中使用已有的数据库,你需要将旧数据目录中的内容复制到新的数据目录。执行该操作时,确保关闭新、旧服务器。将以前安装的MySQL数据库文件拷贝过来并成功启动新的服务器后,应当卸载旧的文件以节省硬盘空间。并且,还应当卸掉位于/Library/Receipts/mysql- VERSION.pkg的旧版本Package Receipt目录。



二、MySql管理工具



下载 http://dev.mysql.com/downloads/gui-tools/5.0.html



MySql默认只有用户root并只能在本地登录,使用root登录后,添加其他的用户。



用户root用户登陆

添加一个本地用户,名为username密码为password



    GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY 'password' WITH GRANT OPTION;


复制代码
添加一个远程用户,名为username密码为password



    GRANT ALL PRIVILEGES ON *.* TO username@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;


复制代码
添加完用户后要重新启动mysql服务





三、MySql Connector/Net 1.0



http://dev.mysql.com/downloads/connector/net/1.0.html



注意:高版本不能使用;



下载Binaries,no installer版本,解压后在bin文件夹中有MySql.data.dll文件。将此文件拷贝至Assets文件夹下,可以放在任意目录下。然后可在C#的脚本中使用using MySql.Data.MySqlClient;



生成的工程需要将此DLL放置在同级目录下。并可在windows下正常使用;

四、代码



    using UnityEngine;

     
    using System;

     
    using System.Collections;

     
    using System.Data;

     
    using MySql.Data.MySqlClient;

     
   

     
    public class CMySql : MonoBehaviour {

     
        // Global variables

     
        private static MySqlConnection dbConnection;

     
   

     
         static string host = "192.168.1.100";

     
         static string id = "mysql";

     
         static string pwd = "123456";

     
         

     
         static string result = "";

     
         

     
         void OnGUI()

     
         {

     
             host = GUILayout.TextField( host, 200, GUILayout.Width(200));

     
             id = GUILayout.TextField( id, 200, GUILayout.Width(200));

     
             pwd = GUILayout.TextField( pwd, 200, GUILayout.Width(200));

     
             if(GUILayout.Button("Test"))

     
             {

     
                 string connectionString = "Server="+host+";Database=test;User ID="+id+"assword="+pwd+"ooling=false";

     
                 openSqlConnection( connectionString );

     
             }

     
             GUILayout.Label(result);

     
         }  

     
   

     
        // On quit

     
        public static void OnApplicationQuit() {

     
            closeSqlConnection();

     
        }

     
      

     
        // Connect to database

     
        private static void openSqlConnection(string connectionString) {

     
            dbConnection = new MySqlConnection(connectionString);

     
            dbConnection.Open();

     
            result = dbConnection.ServerVersion;

     
            Debug.Log("Connected to database."+result);

     
        }

     
      

     
        // Disconnect from database

     
        private static void closeSqlConnection() {

     
            dbConnection.Close();

     
            dbConnection = null;

     
            //Debug.Log("Disconnected from database."+result);

     
        }

     
   

     
        // MySQL Query

     
        public static void doQuery(string sqlQuery) {

     
            IDbCommand dbCommand = dbConnection.CreateCommand();

     
            dbCommand.CommandText = sqlQuery;

     
            IDataReader reader = dbCommand.ExecuteReader();

     
            reader.Close();

     
            reader = null;

     
            dbCommand.Dispose();

     
            dbCommand = null;

     
        }

     
    }


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-12-30 04:19:04 |只看该作者
学习了,虽然还是有难度,谢谢楼主的用心
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-9-20 12:36 , Processed in 0.103251 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部