360SDN.COM

首页/MySQL/列表

mysql create database 指定utf-8编码

来源:  2018-07-19 10:36:15    评论:0点击:

mysql create database 指定utf-8编码

如下脚本创建数据库yourdbname,并制定默认的字符集是utf8。

CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

如果要创建默认gbk字符集的数据库可以用下面的sql:

create database yourdb DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;


 mysql create dabase 语法详解

由于SQL标准的存在,各个关系型数据库管理系统中创建库的语句都差不多

 

一、mysql 中创建数据库的语法如下:

  1、创建数据库的语法:


create {database  | schema } [if not exists] db_name [create_specification]
-- mysql在以在创建库的时候指定库的默认字符集,
create_specification:
    [defualt] character set  [=] charset_name
    [default] collate        [=] collation_name


二、mysql中创建数据库要有create 权限:

  1、创建一个叫coder的用户

mysql:root> create user coder@'127.0.0.1' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

  2、coder去创建库时会报错(权限不足)
 
mysql:coder> show grants;
+-------------------------------------------+
| Grants for coder@127.0.0.1                |
+-------------------------------------------+
| GRANT USAGE ON *.* TO 'coder'@'127.0.0.1' |
+-------------------------------------------+
1 row in set (0.00 sec)

mysql:coder> create database coderdba;
ERROR 1044 (42000): Access denied for user 'coder'@'127.0.0.1' to database 'coderdba'


   3、用root用户给coder用户加上create权限
 
mysql:root> grant create on *.* to coder@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)


  4、coder用户重新发起连接、然后就可以创建库了 
 
mysql -ucoder -h127.0.0.1 -P3306 -p123456

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.7.18-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql:coder> create database coderdba;

Query OK, 1 row affected (0.00 sec)
 

三、mysql数据库权限的一些吐槽:

  1、mysql权限好的地方就在于它权限的层次分明

  2、mysql权限不好的地方就在于它的权限粒度不是非学细、比如说上面的例子,事实上我要的是一个create database 权限

  但是可惜呀它没有这么细的,它只有一个create ;但是只要在实例级别给了create 那么就是说它可以create everthing啦
为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权