MySQL

Posted eat&die

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL相关的知识,希望对你有一定的参考价值。

Table of Contents

  1. 系统
  2. 安装
  3. 登录账户
    1. 登录MySQL
    2. 密码丢失重置
  4. 用户权限
    1. 创建用户
    2. 删除用户
    3. 查看用户权限
    4. 授权
    5. 回收权限
  5. 数据库操作
    1. 显示版本
    2. 显示数据库列表
    3. 选择数据库
    4. 显示指定数据库所有表
    5. 创建数据库
    6. 删除数据库
  6. 数据表操作
    1. 创建数据表
    2. 查看表结构
    3. 删除数据表
    4. 插入数据
    5. 查询数据

系统

  1. centos 7
  2. mysql community server 8.0.13

安装

  1. MySQL yum源配置及安装方法
    https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
  2. 安装

    # yum install mysql-community-server
  3. 启动MySQL服务

    # systemctl start mysqld.service
  4. 检查MySQL服务状态

    # systemctl status mysqld.service
  5. 查看root初始密码

    # grep ‘temporary password‘ /var/log/mysqld.log
  6. 本地MySQL客户端登录

    # mysql -uroot -p
  7. 重置root登录密码

    > alter user ‘root‘@‘localhost‘ identified by ‘MyNewPass4!‘;
    > flush privileges;

登录账户

登录MySQL

  1. 语法: mysql -h 主机地址 -u 用户名 -p 用户密码

    # mysql -u root -p

密码丢失重置

  1. 必须停止服务

    # systemctl stop mysqld.service
  2. 修改配置文件

    # vim /etc/my.cnf
    在最后一行添加:skip-grant-tables
  3. 启动服务

    # systemctl start mysqld.service
  4. 登录账户并修改密码

    # msyql -uroot -p
    > flush privileges;(该步骤必须有,否则会报无法执行修改密码操作)
    > alter user ‘root‘@‘localhost‘ identified by ‘New123*‘;
  5. 撤销对配置文件修改,重启mysql服务器
    在修改密码期间数据库不受保护。

用户权限

创建用户

  1. 语法: create user 用户名@主机 identified by 密码;
  2. 允许本地IP访问localhost, 127.0.0.1

    > create user ‘naruto‘@‘localhost‘ identified by ‘123456‘;
  3. 允许外网IP访问

    > create user ‘naruto‘@‘%‘ identified by ‘123456‘
  4. 刷新授权

    > flush privileges

删除用户

  1. 语法: drop user 用户名@主机;
  2. 删除用户naruto

    > drop user ‘naruto‘@‘localhost‘;

查看用户权限

  1. 语法: show grants for 用户@主机;
  2. 查看naruto权限

    > show grants for ‘naruto‘@‘localhost‘;

授权

  1. 语法: /*grant 权限列表 on 库名.表名 to 用户@主机 identified by ‘密码‘;
  2. 授予在所有表上全部权限

    > grant all privileges on *.* to ‘naruto‘@‘localhost‘;
  3. 授权在test库上所有表读写权限

    > grant select,insert on test.* to ‘naruto‘@‘localhosst‘;
  4. 刷新权限

    > flush privileges;

回收权限

  1. 语法: revoke 权限 on 库名.表名 from 用户@主机;
  2. 回收部分权限

    > revoke insert,select on *.* from ‘naruto‘@‘localhost‘;
  3. 回收全部权限

    > revoke all on *.* from ‘naruto‘@‘localhost‘;

数据库操作

显示版本

> select version()g

显示数据库列表

> show databases;

选择数据库

> use <数据库名>;

显示指定数据库所有表

> show tables;

创建数据库

  1. 方法一

    > create database test_db;
  2. 方法二

    # mysqladmin -u root -p create test_db

删除数据库

  1. 方法一

    > drop database test_db;
  2. 方法二

    # mysqladmin -u root -p drop test_db

数据表操作

创建数据表

> create table table_name (column_name column_type);

查看表结构

> desc <表名>;
> describe <表名>;
> show columns from <表名>;
> show create table <表名>;

删除数据表

> drop table table_name;

插入数据

> insert into table_name (field1, field2, .., fieldn)
        ->    values (value1, value2, ..., valuen);

查询数据

> select column_name, column_name
    -> from table_name
    -> [where Clause]
    -> [limit N][offset M]
  1. table_name可以是一个或者多个表
  2. where语句包含任何条件
  3. limit设定返回的记录数
  4. offset指定select语句开始查询的数据偏移量,默认为0

暂且这样



以上是关于MySQL的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段

mysql查看版本的四种方法