Table of Contents

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

安装

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

  2. 安装
    版本 : mysql community server 8.0.13

    # 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

问题

  1. mysqli无法登陆数据库
    创建用户使用如下指令,或许可以解决

    alter user 'username'@'localhost' identified with mysql_native_password by 'password';
    
 posted on 2018-12-28 23:57  eat&die  阅读(270)  评论(0编辑  收藏  举报