简体   繁体   English

如何创建MySQL数据库

[英]How can I create a MySQL-database

I tried to create a database by the following command: 我试图通过以下命令创建数据库:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEX,DROP,
-> CREATE TEMPORARY TABLES,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,
-> EXECUTE,CREATE VIEW,EVENT,TRIGGER
-> ON {projekti_db}.*
-> TO '{asiakas}'@'localhost';

and got the following error message 并收到以下错误消息

    ERROR 1064 (42000): You have an error in your SQL syntax; 
    check the manual that corresponds to your MySQL server version 
    for the right syntax to use near '{projekti_db}.*
    TO '{asiakas}'@'localhost'' at line 4

I have MySQL 5.1.37. 我有MySQL 5.1.37。 What am I doing wrong? 我究竟做错了什么?

You are trying to assign roles to a user on a certain database. 您正在尝试为特定数据库上的用户分配角色。 To create a database, use 要创建数据库,请使用

CREATE DATABASE NAME;

That syntax doesn't create a database, it grants db privileges to a user. 该语法不会创建数据库,而是向用户授予db特权。

To create a database, you'd use: 要创建数据库,您可以使用:

CREATE DATABASE projekti_db;

See here for a quick cheat sheet for MySQL . 有关MySQL的快速备忘单,请参见此处

#
# First create the Database
#
CREATE DATABASE projekti_db;

#
# Then Create the User that will access that database
#

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEX,DROP,
CREATE TEMPORARY TABLES,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,
EXECUTE,CREATE VIEW,EVENT,TRIGGER 
ON projekti_db.* 
TO 'asiakas'@'localhost';

#
# Now verify that the user asiaskas can access the projekti_db only from localhost
#
SHOW GRANTS FOR 'asiakas'@'localhost';

Give it a Try !!! 试试看 !!!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM