mysql点点滴滴

来源:互联网 发布:法医学网络课程 编辑:程序博客网 时间:2024/06/10 07:32

-------------------------------------------------------------------------------

 如果在启动warning: World-writable config file /home/mysql/my.cnf is ignored
原因:my.cnf的读取权限进行了设置,不允许World-writable(字面意思是全世界都可读写)
解决方法:

sudo chmod 644 /home/mysql/my.cnf

 

----------------------------------------------------------------

查看数据库引擎: show engines;

-------------------------------------------------------------------

创建数据库的sql命令

create database vtpemsbeijing character set gbk(utf-8,gb2312);

describe 表名、查看表结构

explian  sql语句、分析sql语句

mysqldump -uroot -ppass -t --database dbname --tables tbname >/backup/tbname.sql,导出一个数据表

 -------------------------------------------------------------------------------

创建数据表的命令

create table test_innodb(Id int  not null auto_increment ,name varchar(50) not null, primary key(Id),index(name))  engine=innodb;

 

-----------------------------------------

查看二进制文件的内容

# mysqlbinlog mysql-bin.000001

---------------------------------------------

delimiter //

delimiter ;

delimiter作用: 告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。但有时候,不希望MySQL这么做。在为可能输入较多的语句,且语句中包含有分号。使用delimiter //,这样只有当//出现之后,mysql解释器才会执行这段语句。 也可以使用批处理创建触发器

 ----------------------------------------------------------------------------------------------

FLUSH TABLES WITH READ LOCK 和 LOCK TABLES
 

1.FLUSH TABLES WITH READ LOCK

这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读。一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行。

解锁的语句也是unlock tables。

2.LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}

这个命令是表级别的锁定,可以定制锁定某一个表。例如: lock  tables test read; 不影响其他表的写操作。

解锁语句也是unlock tables。

这两个语句在执行的时候都需要注意个特点,就是 隐式提交的语句。在退出mysql终端的时候都会隐式的执行unlock tables。也就是如果要让表锁定生效就必须一直保持对话。

P.S.  MYSQL的read lock和wirte lock


read-lock:  允许其他并发的读请求,但阻塞写请求,即可以同时读,但不允许任何写。也叫共享锁

write-lock: 不允许其他并发的读和写请求,是排他的(exclusive)。也叫独占锁


------------------------------------------------------------------------------------------------

在win764位系统上安装了部署了非安装的mysql 社区版5.6.17

执行mysqld --install mysql-service-x64 --defaults-files my.ini

提示2014-04-14 13:17:10 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

在xp上安装32位没有这种情况,

在my.ini中增加了一下配置,问题解决

explicit_defaults_for_timestamp = 1







原创粉丝点击