1,在window自带的防火墙里的例外添加3306端口,为TCP
2,今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR 1130: Host 192.168.2.159 is not allowed to connect to this MySQL server
猜想是无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。 ......
记得前天有人问我, Memcache 和 MySQL 自己的 Query Cache 有啥区别? 我这样回答的,前者是山寨中的战斗机,后者是官方的战斗机。
新手回答问题,错了莫怪。哈哈哈。
好像细节上的差别还是有的。
Memcache优点如下:
1. 理论上可以支撑无限并发业务操作。
2. 可以启用单独的实例来缓存巨多的数据。(当然你的机器内存足够大,而且别是32-bit的了。)
3. 可以在非常廉价的机器上运行。
当然也有缺点:
1. 暂时没有官方服务支持。
2. 太容易产生内存碎片了,浪费内存。
3. 需要修改应用程序。
Query Cacahe 优点如下:
1. 有官方的技术支持。(这个单单只购买了企业版的用户)
2. 对应用程序透明。 我们的开发人员乐了。
缺点呢也有:
1. 不能分开自己的这块BUFFER到单独的机器。(不知道能不能关闭MySQL 的主要功能,而单独把Query Cache打开呢? 有兴趣的可以试验下。)
2. 也很容易产生内存碎片,同样浪费内存。
其实上面说的有点牵强,如果你的应用程序完全OO,那么对于Memcache来讲,只需要做少量的修改即可。 ......
有很多朋友虽然安装好了 MySQL 但却不知如何使用它。在这篇文章中我们就从连接 MySQL、修改密码、增加用户等方面来学习一些 MySQL 的常用命令。
一、连接MySQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开 DOS 窗口,然后进入目录 mysql\bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好 MySQL,超级用户 root 是没有密码的,故直接回车即可进入到 MySQL 中了,MySQL 的提示符是:mysql>
2、例2:连接到远程主机上的 MySQL。
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出 MySQL 命令: exit (回车)
二、修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 pass ......
现在新版本的mysql集群已从普通的mysql版本中提取出来了,也就是要做mysql的集群需要选择mysql集群对应的软件包。而且mysql专门提供了针对redhat 操作系统的rpm软件包。可以从http://dev.mysql.com/downloads/获得对应的操作系统的rpm软件包。在这里主要谈谈mysql rpm包的集群
mysql集群的三种类型的节点:
sql node: 这是用来访问集群数据的节点。对于MySQL集群,sql节点是使用NDB簇存储引擎的传统MySQL服务器。典型情况下,SQL节点是使用命令mysqld –ndbcluster启动的,或将ndbcluster添加到my.cnf后使用mysqld启动。(其实启动sql node 就像启动一般的mysql server一样启动,有很多种启动方式,service mysql start或者etc/rc.d/init.d/mysqld start只不过是要在配置好集群的配置文件的前提下)。
&n ......
在linux下面安装mysql,首相要根据操作系统的版本,选择对应的mysql的版本,官方网站上有非常明确的分类
http://dev.mysql.com/downloads/
在这里我实验的操作系统是redhat linux
mysql 用了两个安装包,一个是server端,一个是client,我用的是rpm包,安装的指令比较简单。
MySQL-server-community-5.1.42-0.rhel4.i386
MySQL-client-community-5.1.42-0.rhel4.i386
推荐采用的默认的安装路径,然后运行两条简单的指令就安装完成了。
rpm -Uhv MySQLMySQL-server-community-5.1.42-0.rhel4.i386
rpm -Uhv MySQL-client-community-5.1.42-0.rhel4.i386
mysql安装的几个默认路径.
1,数据目录, /var/lib/mysql
2,配置文件, /usr/share/mysql
3,相关的命令 /usr/bin
4,启动脚本 /etc/rc.d/init.d
安装完成过后如果不能启动服务,
the server quit without updating PID file
这个错误很大部分是由配置文件引起的,你只需要根据你系统的配置把/usr/share/mysql下面对应的配置文件copy到/etc
并重命名为my.cnf.选择合适的配置文件参考http://www.kuqin.com/database/20090725/64156.html
配置文件搞定后,就启动mysql的服务,
service mysql ......
在linux下面安装mysql,首相要根据操作系统的版本,选择对应的mysql的版本,官方网站上有非常明确的分类
http://dev.mysql.com/downloads/
在这里我实验的操作系统是redhat linux
mysql 用了两个安装包,一个是server端,一个是client,我用的是rpm包,安装的指令比较简单。
MySQL-server-community-5.1.42-0.rhel4.i386
MySQL-client-community-5.1.42-0.rhel4.i386
推荐采用的默认的安装路径,然后运行两条简单的指令就安装完成了。
rpm -Uhv MySQLMySQL-server-community-5.1.42-0.rhel4.i386
rpm -Uhv MySQL-client-community-5.1.42-0.rhel4.i386
mysql安装的几个默认路径.
1,数据目录, /var/lib/mysql
2,配置文件, /usr/share/mysql
3,相关的命令 /usr/bin
4,启动脚本 /etc/rc.d/init.d
安装完成过后如果不能启动服务,
the server quit without updating PID file
这个错误很大部分是由配置文件引起的,你只需要根据你系统的配置把/usr/share/mysql下面对应的配置文件copy到/etc
并重命名为my.cnf.选择合适的配置文件参考http://www.kuqin.com/database/20090725/64156.html
配置文件搞定后,就启动mysql的服务,
service mysql ......
MySQL索引
MySQL查询优化最重要的当属建立正确的索引,没有索引,面对海量数据,一切的优化纯属空话。什么是索引?索引为什么那么重要呢?这些问题这里就不谈了,还是先写下我首次优化MySQL查询海量数据的心得吧,数据库表类型是MyISAM。
如果简单的一个查询语句,MySQL查询速度还是比较客观的,例如select col_name from table [where conditions]即使数据量再大,也是非常之快。但是我们平时具体使用往往需要几张表的连接才能得到数据,甚至是进行order by、group by,这个时候如果没有索引,就显得异常的慢。表的连接、order by、group by往往还要加上条件,因此创建复合索引的情况比较多见。
复合索引有一个重要的原则是匹配最左前缀,一般如果匹配了最左前缀,就不需要再单独建立一个单一索引了,索引过多只会减慢查询速度。例如建立了create index ComplexIndex on table(Owner,Type,Permission)就相当于包含了(Owner,Type)和(Owner)这两个索引。先写这些吧,待续。 ......