root远程访问授权

mysql> SHOW
DATABASES;

+--------------------+

| Database           |

+--------------------+

| information_schema
|

| mysql              |

| performance_schema
|

| sys                |

+--------------------+

4 rows in set (0.00
sec)

mysql> use
mysql;

Database
changed

--允许在Liang-PC上以root/123456登录

mysql> grant all
privileges on *.* to 'root'@'Liang-PC' identified by '123456' with grant
option;

Query OK, 0 rows affected, 1
warning (0.02 sec)

mysql> flush
privileges;

Query OK, 0 rows affected (0.00
sec)

mysql> select host,user from
user;

+-----------+---------------+

| host      | user          |

+-----------+---------------+

| liang-pc  | root          |

| localhost | mysql.session
|

| localhost | mysql.sys     |

| localhost | root          |

+-----------+---------------+

4 rows in set (0.00
sec)

MySQL Workbench 8.0
CE

Ctrl+Enter  运行当前语句

#查询数据库连接

show full
processlist;

show status like
'%Max_used_connections%';

show status like
'%Threads_connected%'; #当前连接数

show status like '%table_lock%';
#表锁定

show status like
'innodb_row_lock%'; #行锁定

show status like '%qcache%';  #查询缓存情况

show variables like
"%query_cache%";

SHOW STATUS LIKE
'Qcache%';

show variables like
"%binlog%";

show status like
'Aborted_clients'; #由于客户没有正确关闭连接已经死掉,已经放弃的连接数量

show variables like
'%max_connections%'; #查看最大连接数量

show variables like '%timeout%';
#查看超时时间

show variables like 'log_%';  #查看日志是否启动

mysql注释符

单行注释:#abc  或 --
abc

这里注意oracle/mssql的--注释不需要空格,但mysql的一定要有空格。

多注释:

/*

Abc

*/

创建数据库/Schemas

-- 查看
datadir 位置

show variables like
'%dir%';

show variables
like 'datadir';

Show
databases;

等价

select schema_name from
information_schema.schemata

use
mysql;

show
tables;

SHOW COLUMNS FROM
user;

等价

describe
user;

1、使用create database语句创建数据库

CREATE DATABASE IF NOT EXISTS
study DEFAULT CHARSET utf8;

create database if not exists
study default character set = 'utf8';

2、查看创建的DB的字符集

select
schema_name,default_character_set_name

from information_schema.schemata where schema_name =
'study';

3、通过链接符,改变数据库物理位置

a).关闭服务

b).移动目录

c).mklink /j
"C:\ProgramData\MySQL\MySQL Server 5.7\Data\study"
D:\mysqldata\study

d).启动服务

findstr "^[^#]" "C:\ProgramData\MySQL\MySQL
Server 5.7\my.ini"

4、创建表

CREATE TABLE `study`.`a_temp01`
(

`id` INT NULL,

`text` VARCHAR(45)
NULL);

创建用户并授权

CREATE USER 'ustudy'@'%'
IDENTIFIED BY 'ustudy';

flush
privileges;

select host,user from
mysql.user;

GRANT all privileges ON study.* TO
'ustudy'@'%';

方法分成三种:INSERT
USER表的方法、CREATE USER的方法、GRANT的方法,最终在mysql.user中形成记录。

账号的组成方式:用户名+主机(所以可以出现重复的用户名,跟其他的数据库不一样)

用户名:16字符以内.

主机名:可以用主机名和IP地址,也可以用通配符

通配符说明:172.18.10.%(IP地址为172.18.10段的所有IP地址都可以访问)

CREATE USER的方法

CREATE USER 'username'@'host'
[IDENTIFIED BY 'PASSWORD'];

说明:该方法创建出来的用户只有连接数据库的权限,需要后续继续授权;

GRANT的方法

GRANT
privileges ON databasename.tablename TO 'username'@'host' [identified by
‘password’ WITH GRANT OPTION];

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

databasename:数据库名

tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

当数据库存在用户的时候GRANT会对用户进行授权,但当数据库不存在该用户的时候,就会创建相应的用户并进行授权。

例子:

mysql>grant
select,insert,update,delete on test.hr to john@192.168.10.1 INSERT
USER表的方法123';

说明:给主机为192.168.10.1的用户john分配可对数据库test的hr表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on
test.* to joe@192.168.10.1 identified by
'123';

说明:给主机为192.168.10.1的用户john分配可对数据库test所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on
*.* to john@192.168.10.1 identified by '123';

说明:给主机为192.168.10.1的用户john分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on
*.* to john@localhost identified by '123';

说明:用户john分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

查看用户权限:等价

SHOW grants
FOR ustudy;

SHOW GRANTs
FOR 'ustudy'@'%';

show CREATE database study; 这个可以看到创建study数据库时用到的一些参数。

show create table
study.a_temp01;    可以看到创建study.a_temp01表时用到的一些参数

INSERT USER表的方法

插入方法:创建用户

mysql> insert into
user (host,user,password) values
('%','john',password('123'));

mysql>flush
privileges;

SET
PASSWORD

设置与更改用户密码

SET PASSWORD FOR 'username'@'host'
= PASSWORD('newpassword');

如果是当前登陆用户用:

SET PASSWORD =
PASSWORD("newpassword");

撤销用户权限:由grant变REVOKE

REVOKE privilege ON
databasename.tablename FROM 'username'@'host';

删除用户

DROP USER
'username'@'host';

MySQL创建数据库与用户的更多相关文章

  1. mysql 创建数据库,添加用户,用户授权

    一.创建mysql数据库 1.创建数据库语法 --创建名称为"testdb"数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS testdb ...

  2. Mysql创建数据库以及用户分配权限

    一.创建mysql数据库 1.创建数据库语法 --创建名称为“testdb”数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS testdb DEFAULT C ...

  3. mysql创建数据库和用户

    create database sonar character set utf8 collate utf8_general_ci; flush privileges; grant all privil ...

  4. MySQL创建数据库及用户

    create database ${db_name} default charset utf8 COLLATE utf8_general_ci; grant all on ${db_name}.* t ...

  5. MySQL创建数据库,用户,赋予权限

    CREATE DATABASE 'voyager'; CREATE DATABASE `voyager`; CREATE USER 'dog'@'localhost' IDENTIFIED BY '1 ...

  6. MySQL创建数据库时指定编码utf8mb4和添加用户

    CREATE DATABASE `wordpress` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `wor ...

  7. mysql创建数据库用户

    连接mysql cmd--> mysql -hlocalhost -uroot -pmypassword 退出mysql mysql> quit 也可用exit或者 \q ======== ...

  8. MySQL 创建数据库

    MySQL 创建数据库 使用 mysqladmin 创建数据库 使用普通用户,你可能需要特定的权限来创建或者删除 MySQL 数据库. 所以我们这边使用root用户登录,root用户拥有最高权限,可以 ...

  9. 五、MySQL 创建数据库

    MySQL 创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 ...

随机推荐

  1. 画一条0.5px的线

    通过伪类元素:after为其添加样式,用transform:scaleY令其在垂直方向缩小0.5倍 .div:after{ height: 1px; transform: scaleY(0.5); t ...

  2. 创建spark_读取数据

    在2.0版本之前,使用Spark必须先创建SparkConf和SparkContext,不过在Spark2.0中只要创建一个SparkSession就够了,SparkConf.SparkContext ...

  3. 依赖注入原理---IoC框架

    先来讲一讲,一个简单的依赖注入例子. 1. 依赖 如果在 Class A 中,有 Class B 的实例,则称 Class A 对 Class B 有一个依赖.例如下面类 Human 中用到一个 Fa ...

  4. 架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)

    [前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式.接下来,小编就和大家一起来做个小Demo来体会一下N ...

  5. IIS 8.5详细错误

    把网站部署到IIS后报错,我错的原因是文件夹内没有设置默认文档,计算机不知道运行哪一个文件,所以报错. 方法:(1)在IIS目录下找到默认文档,双击,点击添加,手写 自己的 启动文件 (2)启动自己的 ...

  6. python基础之centos6.5 升级 python2.7, 安装pip, MySQLdb

    这个仅仅是为了运行脚本需求, 将centos6.5中的 python 2.6.6升级到了 2.7 并且安装和了 pip 和 MySQLdb 1.先装依赖 yum install zlib-devel ...

  7. guava-retrying 源码解析(阻塞策略详解)

    这是一种策略,用于决定重试者应如何在重试尝试之间进行阻止.通常这只是一个thread.sleep(),但是如果需要的话,实现可能更复杂. 一.阻塞策略相关的类或接口 1.阻塞策略接口:BlockStr ...

  8. Android:进程优先级

    进程优先级 优先级 服务 说明 高优先级 前台进程 ①该进程包含正在与用户进行交互的界面组件,比如一个Activity. ②进程服务被Activity调用,而且这个Activity正在与用户进行交互 ...

  9. dos语法

    一)MD——建立子目录 1.功能:创建新的子目录 2.类型:内部命令 3.格式:MD[盘符:][路径名]〈子目录名〉 4.使用说明: (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前 ...

  10. 使用maven-shade-plugin打包spring项目为可执行的jar包

    使用maven-shade-plugin打包spring项目为可执行的jar包,打包后的jar包里面包含依赖的jar包. POM文件: <plugin> <groupId>or ...