Mysql 创建表失败
我安装了mySQL服务器,创建了一个名为Mysql 创建表失败,mysql,Mysql,我安装了mySQL服务器,创建了一个名为ej_instance的用户,并设置了密码“password”。使用以下命令登录到服务器 mysql -u ej_instance -p; -- entered password ej_实例只能访问ejabberd数据库。所以我执行如下命令 use ejabberd; SET table_type=InnoDB; CREATE TABLE users ( username varchar(250) PRIMARY KEY
ej_instance
的用户,并设置了密码“password”。使用以下命令登录到服务器
mysql -u ej_instance -p;
-- entered password
ej_实例只能访问ejabberd
数据库。所以我执行如下命令
use ejabberd;
SET table_type=InnoDB;
CREATE TABLE users (
username varchar(250) PRIMARY KEY,
password text NOT NULL,
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) CHARACTER SET utf8;
然后尝试执行如下命令
use ejabberd;
SET table_type=InnoDB;
CREATE TABLE users (
username varchar(250) PRIMARY KEY,
password text NOT NULL,
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) CHARACTER SET utf8;
但这是对我的错误。下面是错误
ERROR 1193 (HY000): Unknown system variable 'table_type'
ERROR 1046 (3D000): No database selected
如何才能做到这一点?还有什么需要更改的吗?在创建表时指定引擎类型,如下所示:
USE ejabberd;
CREATE TABLE users (
username varchar(250) PRIMARY KEY,
password text NOT NULL,
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) CHARACTER SET utf8 ENGINE = INNODB;
如果使用错误仍然显示,请检查:
#check the database exists
SHOW DATABASES LIKE 'ejabberd';
#check user permissions
SHOW GRANTS FOR 'ej_instance'@'localhost';
SHOW GRANTS FOR 'ej_instance'@'%';
如果您没有足够的权限:
#grant all permission on the user for the specified database
GRANT ALL ON ejabberd.* TO 'ej_instance'@'localhost';
GRANT ALL ON ejabberd.* TO 'ej_instance'@'%';
FLUSH PRIVILEGES;
在你使用ejabberd之后;是否显示“数据库已更改”?请尝试将
用户ejabberd
添加到您试图执行的脚本中。@DaImTo Yes它已记录相同的内容<代码>数据库已更改@AndriusNaruševičius我已作为ej_实例
登录ejabberd
是数据库名。@DaImTo感谢您的响应,我设置了storage\u engine=InnoDB,它工作了。感谢您的响应,我设置了set storage\u engine=InnoDB
它工作了。我通常会使它运行得更快,这意味着在被问到之前:)