程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql建庫時提示Specified key was too long max key length is 1000 bytes的問題的解決方法

mysql建庫時提示Specified key was too long max key length is 1000 bytes的問題的解決方法

編輯:關於MYSQL數據庫
索引字段長度太長,
1.修改字段長度
2.修改mysql默認的存儲引擎
在/etc/mysql/my.cnf 的[mysqld] 下面加入default-storage-engine=INNODB
但是在建庫時已經明確表明了需要使用INNODB引擎
Sql代碼
復制代碼 代碼如下:
CREATE TABLE `acs` (
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

檢查當前的引擎
復制代碼 代碼如下:
mysql> show engines;

果然沒有InnoDB
查看是否支持動態加載, 重要的是have_dynamic_loading這行,如果是YES,那麼繼續
復制代碼 代碼如下:
mysql>show variables like "have_%";

安裝插件
復制代碼 代碼如下:
mysql> INSTALL PLUGIN INNODB SONAME 'ha_innodb.so';
mysql> show engines;

Mysql建庫第一次接觸Mysql,和Oracle還是有差別的哦,下面簡單介紹Linux Mysql建庫過程。
#mysql

>CREATE USER 'bob'@'%' IDENTIFIED BY '123456'; //創建用戶bob.
>GRANT ALL PRIVILEGES ON *.* TO 'bob'@'localhost' IDENTIFIED BY '123456';
//設置bob可以本地登錄並賦所有權限給bob,因為bob是管理員哦!
>GRANT ALL PRIVILEGES ON *.* TO 'bob'@'%' IDENTIFIED BY '123456';
//用戶地址可以是localhost,也可以是ip地址、機器名字、域名。也可以用'%'表示從任何地址連接.
>FLUSH PRIVILEGES; //刷新授權
>CREATE DATABASE travel CHARACTER SET utf8 COLLATE utf8_general_ci; //創建數據庫travel並設置成utf8格式.
>quit

#mysql -uroot -p travel < travel20120410.sql //為了方便,我直接導入了一份數據,root密碼默認為空,所以後面直接跟數據庫名稱.

#mysql -ubob -p123456 回車

>SHOW DATABASES; //查看數據庫
>select user,host,password from mysql.user; //bob登錄,查看已經存在的所有用戶
>\S 或者 SELECT CURRENT_USER(); //查看當前用戶
>use travel;
>show tables;
>show grants; //查看自己的權限
>show grants for dba@localhost; //查看dba的權限
>revoke all on *.* from dba@localhost; //移除dba的權限
>update user set password=password("密碼") where user='root' //修改root密碼
#mysqladmin -uroot -p舊密碼 password 新密碼 //修改root密碼
#mysql -ubob -pbob -h192.168.19.182 travel //遠程登錄到182這台Mysql數據庫
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved