liunx mysql 用户、权限、编码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011377803/article/details/72934283

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;


猜你喜欢

转载自blog.csdn.net/u011377803/article/details/72934283