我的mysql装在/usr/local/mysql目录下启
动碰到过很多问题。最常见的是:
ERROR 2002: Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (111)
解决办法:
[root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root /
> -S /var/lib/mysql/mysql.sock password 'your.passwd'
或者做个连接
ln -s /var/lib/mysql/mysql.sock /tmp
其实提示找不到 /tmp/mysql.sock有时也并不是/tmp目录下没这个文件,是启动
命令不对,我碰到过
常见的几种启动方式,自己也不是记得很清楚,如果你确定tmp下有mysql.sock这
个文件不妨试试另外的几个命令
/usr/local/mysql/bin/mysql -u root -p
/usr/local/mysql/bin/mysqld --user=mysql&
/usr/local/mysql/bin/mysqld --user=root&
/usr/local/mysql/bin/mysqld_safe --user=root&
/usr/local/mysql/bin/mysqld_safe --user=mysql&
/usr/local/mysql/bin/safe_mysqld--uer=root&(注意safe_mysqld与
mysqld_safe是不同的,&表示mysql在后台运行)我的就会报错了
STOPPING server from pid file
/usr/local/mysql/data/localhost.localdomain.pid
06030 ......
用C++操作MySQL数据库类:
注释:这几个类对处理不是很大数据量的操作是很理想的, 但不适宜特大型的数据的查询,因为源码中将查询到的数据直接放入了内存。
/*
* project:
* 通用模块 ( 用 c++ 处理 mysql 数据库类,像ADO )
*
* description:
*
* 通过DataBase,RecordSet,Record,Field类,实现对mysql数据库的操作
* 包括连接、修改、添加、删除、查询等等,像ADO一样操作数据库,使
* 用方便
*
* ( the end of this file have one sample,
* welcom to use... )
*
*
* file:zlb_mysql.h
*
* author: @ zlb
*
* time:2005-12-12
*
*
*
--*/
#ifndef ZLB_MYSQL_H
#define ZLB_MYSQL_H
#include "mysql.h"
#include
#include
#include
using namespace std;
namespace zlb_mysql{
/*
* 字段操作
*/
class Field
{
public :
/* 字段名称 */
vector m_name;
/* 字段类型 */
vector m_type;
public :
Field();
~Field();
......
用C++操作MySQL数据库类:
注释:这几个类对处理不是很大数据量的操作是很理想的, 但不适宜特大型的数据的查询,因为源码中将查询到的数据直接放入了内存。
/*
* project:
* 通用模块 ( 用 c++ 处理 mysql 数据库类,像ADO )
*
* description:
*
* 通过DataBase,RecordSet,Record,Field类,实现对mysql数据库的操作
* 包括连接、修改、添加、删除、查询等等,像ADO一样操作数据库,使
* 用方便
*
* ( the end of this file have one sample,
* welcom to use... )
*
*
* file:zlb_mysql.h
*
* author: @ zlb
*
* time:2005-12-12
*
*
*
--*/
#ifndef ZLB_MYSQL_H
#define ZLB_MYSQL_H
#include "mysql.h"
#include
#include
#include
using namespace std;
namespace zlb_mysql{
/*
* 字段操作
*/
class Field
{
public :
/* 字段名称 */
vector m_name;
/* 字段类型 */
vector m_type;
public :
Field();
~Field();
......
如果你是个赛车手,并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是什么感觉呢?MySQL数据库为开发人员所做的就好像是按按钮换引擎;它让你选择数据库引擎,并给你一条简单的途径来切换它。
MySQL的自带引擎肯定是够用了,但是在有些情况下,其他的引擎可能要比手头所用更适合完成任务。如果愿意的话,你甚至可以使用 MySQL++ API来创建自己的数据库引擎,就像打穿气缸装上自己的化油器。现在让我们来看看你该如何选择引擎,以及如何在可用引擎之间切换。
选择你的引擎
你能用的数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MySQL。仅仅为了添加一个特性而编译应用程序的概念对于Windows的开发人员来说可能很奇怪,但是在UNIX世界里,这已经成为了标准。在缺省情况下,MySQL支持三个引擎:ISAM、MyISAM和HEAP。另外两种类型InnoDB和Berkley(BDB),也常常可以使用。
ISAM
ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个 ......
怎样进行Mysql远程连接
我用:
grant all privileges on *.* to 创建的用户名@localhost identified by "密码";
flush privileges; \* 刷新刚才的内容*\
========================
mysql默认是不允许远程连接的,因为有很大的安全隐患。。
所以需要手动增加可以远程访问数据库的用户。
下面是连接方式:
# mysql -u root -p
>;grant select,insert,update,delete on *.* to root@"202.11.10.253" Identified by "dboomysql";
----允许地址202.11.10.253上用root用户,密码dboomysql来连接mysql的所有数据库,付给select,insert,update,delete权限。
grant all on *.* to root@"202.11.10.253" Identified by "dboomysql"
允许地址202.11.10.253上用root用户,密码dboomysql来连接mysql的所有数据库,付给所有权限。
这样用数据库管理软件就可以远程访问Mysql了。
======================================
A1:
远程连接到MySQL需要做的
1. 进入MySQL,创建一个新用户xuys:
格式: grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
&nbs ......
操作系统: windows xp
php版本:5.2.5 http://www.php.net/downloads.php
Apache http server 版本:2.2.6http://httpd.apache.org/download.cgi
Mysql版本: 6.0.3http://dev.mysql.com/get/Downloads/MySQL-6.0
1.apache的安装:
1)双击apache_2.2.6-win32-x86-no_ssl.msi图标,启动apache安装程序;
2)安装以一个欢迎屏幕开始,点击next;
3)许可协议,仔细阅读后,如同意,next;
4)与apache服务器有关的说明,阅读后next;
5)apache服务器操作相关项,包括网络域、服务器名和管理员E-mail。前两项使用localhost,最后一项任意,以后可在 httpd.conf文件中修改这些信息。安装程序会提示你希望为所有用户提供apache服务还是仅作为当前用户的服务,如果你希望apache与操作 系统一起启动(推荐),就选择将apache作为所有用户的服务,完成后next;
6)安装类型:这里选择“典型”,next
7)选择安装的位置,我安装在c:apache2
8)点击Install完成安装。
因为我的机子80端口已经被占用,所以在httpd.conf修改了端口。
如果安装的时候出现错误,不要紧张,确定。然后打开C:Apache2conf下的httpd.conf文件,查找“80”,
#Listen 12.34.56.7 ......
操作系统: windows xp
php版本:5.2.5 http://www.php.net/downloads.php
Apache http server 版本:2.2.6http://httpd.apache.org/download.cgi
Mysql版本: 6.0.3http://dev.mysql.com/get/Downloads/MySQL-6.0
1.apache的安装:
1)双击apache_2.2.6-win32-x86-no_ssl.msi图标,启动apache安装程序;
2)安装以一个欢迎屏幕开始,点击next;
3)许可协议,仔细阅读后,如同意,next;
4)与apache服务器有关的说明,阅读后next;
5)apache服务器操作相关项,包括网络域、服务器名和管理员E-mail。前两项使用localhost,最后一项任意,以后可在 httpd.conf文件中修改这些信息。安装程序会提示你希望为所有用户提供apache服务还是仅作为当前用户的服务,如果你希望apache与操作 系统一起启动(推荐),就选择将apache作为所有用户的服务,完成后next;
6)安装类型:这里选择“典型”,next
7)选择安装的位置,我安装在c:apache2
8)点击Install完成安装。
因为我的机子80端口已经被占用,所以在httpd.conf修改了端口。
如果安装的时候出现错误,不要紧张,确定。然后打开C:Apache2conf下的httpd.conf文件,查找“80”,
#Listen 12.34.56.7 ......
在mysql手册里面有一段描述关于lock tables的语法的.
LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...UNLOCK TABLESREAD
当表不存在 WRITE 写锁时 READ 读锁被执行,这该状态下,当前线程不可以修改(insert,update,delete),其他线程的修改操作进入列队,当当前线程释放锁,其他线程修改被执行.
READ LOCAL
READ LOCAL和READ之间的区别是,READ LOCAL允许在锁定被保持时,执行非冲突性INSERT语句(同时插入-Concurrent Insert的特性,主要是针对MyISAM存储引擎来说的)。但是,如果您正打算在MySQL外面操作数据库文件,同时您保持锁定,则不能使用READ LOCAL。对于InnoDB表,READ LOCAL与READ相同(tenfy的实验结论是:MyISAM存储引擎,确实在线程a执行read local rock后,其他线程是可以再进行insert操作的,update则被阻塞,但对InnoDB存储引擎来说,insert和update均被阻塞,因此read local更多的是对MyISAM存储引擎来说的)。
WRITE
除了当前用户被允许读取和修改被锁表外,其他用户的所有访问被完全阻止。注意的是在当前线程当WRITE被执 ......