SQL Server中增加对其它数据库的支持

以图为准:

连接串的格式大致如下,根据数据库不同可能不一样,但如果你用过ADO就没什么问题了。如果需要的话我可以做一个小工具帮你生成这个串。
Provider=MSDASQL.1;Password=;Persist Security Info=True;User ID=;Data Source=

想连接什么Oracle啦,MySQL的就这样动手吧。

Piwik – google analytics alternate

Piwik is a downloadable, open source (GPL licensed) web analytics software program. It provides you with detailed real time reports on your website visitors: the search engines and keywords they used, the language they speak, your popular pages… and so much more.

Piwik aims to be an open source alternative to Google Analytics.

Piwik is a PHP MySQL software program that you download and install on your own webserver. At the end of the five minute installation process you will be given a JavaScript tag. Simply copy and paste this tag on websites you wish to track (or use an existing plugin to do it automatically for you).

What makes Piwik unique from the competition:

  1. Piwik’s features are built inside plugins: you can add new features and remove the ones you don’t need. If you are a developer, you can easily build your own web analytics plugins!
  2. you own your data: because Piwik is installed on your server, the data is stored in your own database and you can get all the statistics using open APIs (publishing the data in many formats: xml, json, php, csv)
  3. the user interface is fully customizable: you can drag and drop the widgets you want to display and create a report especially tailored to you!
  4. Real time web analytics reports: in Piwik, by default reports are generated in real time. For high traffic websites, you can choose the frequency for reports to be processed (more info)

/.报道,德国的多位联邦和地区政府官员正试图禁止网站使用Google Analytics(谷歌分析)。谷歌分析是搜索巨人向网站管理员提供的免费统计工具,可收集网站访问用户的详细数据,包括访问者的数量、地区和搜索行为。一位德国律师称非法使用谷歌分析的网站将被罚款50000欧元。一位用户对此评论道,谷歌分析在全球互联网上收集的数据确实十分巨大,网站拥有者应该使用本地开源替代,以保护访问者数据的私密性。

来源:solidot

piwik系统采用php+mysql

Linux, mysql大小写

在Ubuntu中安装MySQL得到的数据库环境是区别大小写的。

解决的方式就是在/etc/mysql/my.conf文件
[mysqld]
lower_case_table_names = 1

这样一来,所有的表,即使你按大写名称查询,实际上查询的也是小写的表名。应该实现上做了lower case处理吧。

需要注意的是,数据库名称也受此影响。

参考:Linux环境下MySQL数据库大小写区分问题

Ubuntu, LAMP

1. install apache2
sudo apt-get install apache2
2. install mysql
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
3. install php
sudo apt-get install php5-common php5-gd php5-mysql libapache2-mod-php

至于修改配置文件,我只是在/etc/apache2/httpd.conf中增加了
DirectoryIndex index.php index.htm index.html

又及:
1. 安装phpmyadmin
sudo apt-get install phpmyadmin
2. 今天学到
sudo apt-cache search …
可以搜得…相关的包名称

MySQL增加用户的方法

MySQL有两种不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。

  下面的例子显示出如何使用MySQL客户安装新用户。这些例子假定权限已缺省被安装。这意味着为了改变,您必须在MySQL正在运行同一台机器上,您必须作为MySQL root用户连接,并且root用户必须对MySQL数据库有insert权限和reload管理权限。另外,如果您改变了root用户口令,您必须如下的MySQL命令指定它。

  您可以通过发出GRANT语句增加新用户:

shell> mysql –user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY ‘something’ WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@”%”
IDENTIFIED BY ‘something’ WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;

  这些GRANT语句安装3个新用户:

  monty:可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令’something’做这个。注意,我们必须对monty@localhost和monty@”%”发出GRANT语句。如果我们增加localhost条目,对localhost的匿名用户条目在我们从本地主机连接接时由mysql_install_db创建的条目将优先考虑,因为它有更特定的Host字段值,所以以user表排列顺序看更早到来。

  admin:可以从localhost没有一个口令进行连接并且被授予reload和process管理权限的用户。这允许用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,还有mysqladmin processlist。没有授予数据库有关的权限。他们能在以后通过发出另一个GRANT语句授权。

  dummy:可以不用一个口令连接的一个用户,但是只能从本地主机。全局权限被设置为’N’–USAGE权限类型允许您无需权限就可设置一个用户。它假定您将在以后授予数据库相关的权限。

  您也可以直接通过发出INSERT语句增加同样的用户存取信息,然后告诉服务器再次装入授权表:

shell> mysql –user=root mysql
mysql> INSERT INTO user VALUES(‘localhost’,’monty’,PASSWORD(‘something’),
‘Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’)
mysql> INSERT INTO user VALUES(‘%’,’monty’,PASSWORD(‘something’),
‘Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’)
mysql> INSERT INTO user SET Host=’localhost’,User=’admin’,
Reload_priv=’Y’, Process_priv=’Y’;
mysql> INSERT INTO user (Host,User,Password)
VALUES(‘localhost’,’dummy’,”);
mysql> FLUSH PRIVILEGES;

  取决于您的MySQL版本,对上述,您可能必须使用一个不同数目’Y’值(在3.22.11以前的版本有更少的权限列)。对admin用户,只用在3.22.11开始的版本具有的更加可读的INSERT扩充的语法。

  注意,为了设置一个超级用户,您只需创造一个user表条目,其权限字段设为’Y’。不需要db或host表的条目。

  在user表中的权限列不是由最后一个INSERT语句明确设置的(对dummy用户),因此那些列被赋予缺省值’N’。这是GRANT USAGE做的同样的事情。

  下列例子增加一个用户custom,他能从主机localhost、server.domain和whitehouse.gov连接。他只想要从localhost存取bankaccount数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer数据库。他想要从所有3台主机上使用口令stupid。

  为了使用GRANT语句设置个用户的权限,运行这些命令:

shell> mysql –user=root
mysql mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON bankaccount.*
TO custom@localhost
IDENTIFIED BY ‘stupid’;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON expenses.*
TO custom@whitehouse.gov
IDENTIFIED BY ‘stupid’;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON customer.*
TO custom@’%’
IDENTIFIED BY ‘stupid’;

  通过直接修改授权表设置用户权限,运行这些命令(注意,在结束时FLUSH PRIVILEGES):

shell> mysql –user=root
mysql mysql> INSERT INTO user (Host,User,Password)
VALUES(‘localhost’,’custom’,PASSWORD(‘stupid’));
mysql> INSERT INTO user (Host,User,Password)
VALUES(‘server.domain’,’custom’,PASSWORD(‘stupid’));
mysql> INSERT INTO user (Host,User,Password)
VALUES(‘whitehouse.gov’,’custom’,PASSWORD(‘stupid’));
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES
(‘localhost’,’bankaccount’,’custom’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES
(‘whitehouse.gov’,’expenses’,’custom’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES(‘%’,’customer’,’custom’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
mysql> FLUSH PRIVILEGES;

  头3个INSERT语句增加user表条目,允许用户custom用给定口令从不同的主机进行连接,但是没有授予任何许可(所有权限被设置为缺省值’N’)。后3个INSERT语句增加db表条目,授予custom以bankaccount、expenses和customer数据库权限,但是只能在从正确的主机存取时。通常,在授权表直接被修改时,服务器必须被告知再次装入他们(用FLUSH PRIVILEGES)以便使权限修改生效。 如果您想要给特定的用户从一个给定的域上的任何机器上存取权限,您可以发出一个如下的GRANT语句:

mysql> GRANT …
ON *.*
TO myusername@”%.mydomainname.com”
IDENTIFIED BY ‘mypassword’;

  为了通过直接修改授权表做同样的事情,这样做:

mysql> INSERT INTO user VALUES (‘%.mydomainname.com’, ‘myusername’,
PASSWORD(‘mypassword’),…);
mysql> FLUSH PRIVILEGES;

  您也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授权表中插入、改变和更新值。您可以在MySQL的Contrib目录找到这些实用程序。

来源:开发学院

又,mysql中想知道数据路径,指令:
mysql -e “show variables like ‘datadir’;”

来源:CSDN

说明,在Ubuntu下,缺省的mysql的数据路径/var/lib/mysql/