liunx mysql 用户、权限、编码

来源:互联网 发布:2017最新淘宝黑车技术 编辑:程序博客网 时间:2024/06/04 19:01

1.创建用户

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

例子:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';

CREATE USER 'dog'@'%' IDENTIFIED BY '123456';

解释一下,你的dog是用户名称,%或者localhost是能访问的来源(root默认是localhost,需要修改后,你在远程才能访问)。123456是密码。


补充: root 改变访问权限。

mysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机+------+----------+-----------+| User | Password | Host      |+------+----------+-----------+| root |          | localhost |+------+----------+-----------+1 row in set (0.00 sec)
可以update 也可以在添加一条:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
此处看不懂,可以据需看下面的授权。


2.进行授权

命令:GRANT privileges ON databasename.tablename TO 'username'@'host'

例子:

GRANT SELECT, INSERT ON test.user TO 'dog'@'%';  // 把 test库,user 表的 select 、insert 权限 赋值给 dog 。
GRANT ALL ON *.* TO 'dog'@'%'; 

解释一下:select、insert、all是什么权限,  数据库名称和表名可以使用 * 来进行通配,意思就是赋值所有库所有表。


以上授权 用户只具有权限,不能将权限赋值给别人。下面的命令可以。

需要在授权语句后加上  WITH GRANT OPTION 


3.查看编码,很多时候我们会出现编码错误,这时候我们需要排查一下数据库的编码

3.1查看数据库编码

show variables like 'character_set_database';

3.2 查看表编码

show create table <表名>;

3.3 创建库是指定编码

create database <数据库名> character set utf8;

3.4 创建表指定编码

create table tb_books (    name varchar(45) not null,    price double not null,    bookCount int not null,    author varchar(45) not null ) default charset = utf8;
3.5 修改数据库编码

alter database <数据库名> character set utf8;

3.6 修改表编码

alter table <表名> character set utf8;


原创粉丝点击