xml地图|网站地图|网站标签 [设为首页] [加入收藏]
mysql如何修改表类型,远程访问权限
分类:数据库

总结,int(M) zerofill,加上zerofill后M才表现出有点点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加zerofill,则它们没有什么区别.M不是用来限制int个数的.int(M)的最大值和最小值与undesigned有关,最下面那副图有说明.

澳门新葡亰手机版,参考阅读:

MySQL默认没有开启远程访问的权限,需要手动打开,步骤如下:

mysql> create table t (t int(3) zerofill);
Query OK, 0 rows affected (0.00 sec)

最近遇到一个修改 MySQL 表类型的问题,以前在 phpmyadmin 管理 mysql 数据库时,建立的表默认是 MyISAM 类型,而且修改表类型也比较方便。奈何现在配置 phpmyadmin 出了问题,也懒得去弄了,就装了另一个 mysql 的管理工具,比较方便。可是我新建的表默认确是 InnoDB 类型的,而且以前我迁移时,这个类型容易出问题,虽然说不出哪个类型好,但感觉更喜欢 MyISAM ,就尝试把它转为 MyISAM类型了。这个工具找了半天没找着怎么修改,问了水神同学也不知道。还好,在网上找着了 sql 命令修改句子,看来还是 sql 语句强大啊。

1.通过命令行登录2.mysql>update user set host = '%' where user = 'root';
这里会报错,但不用管。报错内容是“ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'”
3.mysql>flush privileges;
4.mysql>quit

mysql> insert into t set t = 10;
Query OK, 1 row affected (0.00 sec)

修改 mysql 表类型的 sql 语句:

完成以上操作如果还是不能远程访问,需要在防火墙中设置一下,放行MySQL。

mysql> select * from t;
+——+
| t |
+——+
| 010 |
+——+
1 row in set (0.11 sec)

alter table 表名 type = MyISAM;

Zerofill with default width, the same as int(10):

alter table 表名 type = InnoDB;

mysql> create table t (t int zerofill);
Query OK, 0 rows affected (0.02 sec)

 

mysql> insert into t set t = 10;
Query OK, 1 row affected (0.02 sec)

附 mysql 表类型说明

mysql> select * from t;
+————+
| t |
+————+
| 0000000010 |
+————+
1 row in set (0.08 sec)

 MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法。与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具。 MyISAM表格可以被压缩,而且它们支持全文搜索。它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量 的SELECT,MyISAM是更好的选择。

Without zerofill:

InnoDB:这种类型是事务安全的。它与BDB类型具有相同的特性,它们还支持外键。InnoDB表格速度很快,具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它。如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。

mysql> create table t (t int);
Query OK, 0 rows affected (0.01 sec)

对于支持事物的InnoDB类型的标,影响速度的主要原因是AUTOCOMMI,默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动Commit,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打 开也可以),将大大提高性能。

mysql> insert into t set t = 10;
Query OK, 1 row affected (0.01 sec)

mysql> select * from t;
+——+
| t |
+——+
| 10 |
+——+

本文由澳门新葡亰手机版发布于数据库,转载请注明出处:mysql如何修改表类型,远程访问权限

上一篇:MySQL基本简单操作01,数据库各版本功能对比 下一篇:没有了
猜你喜欢
热门排行
精彩图文