• MySQL 常用操作


    一.MySQL 创建用户以及授权

    1、新建用户:

    >CREATE USER name IDENTIFIED BY 'sxt';

     

    2增加新用户 

    grant select on 数据库.* to 用户名@登录主机 identified by “密码”

    3查看当前用户

     select user();

     

    4、更改密码:

    1)更改环境变量

    修改/etc/profile 文件,文件尾添加 mysql 的绝对路径 (查看绝对路径echo $PATH),修改环境变量(如果不修改则用/usr/local/mysql/bin/mysql -uroot -p,修改完source /etc/profile使其生效

    2)创建 MySQL 密码

    mysqladmin -uroot password '123456'  //为 root 用户创建初始密码(' '加不加都行,最好加上)

    注:可以忽略 warning 内容,指的是明码输入屏幕不安全。

    mysql -uroot -p123456  //完成初始密码登录

    3)密码重置

    修改配置文件/etc/my.cnf,在 mysqld 配置段,增加字段 skip-grant

    修改配置文件配置段

    修改完成后,重启mysql服务

    /etc/init.d/mysqld restart

    使用命令登入mysql(修改的配置段,是完成忽略授权的操作,可以直接登入,无需输入用户名密码),切换到 mysql 库,对 user 表进行更新操作(在mysqluse mysql切换到mysql库  )

    修改完成后,确认新密码登录有效。把/etc/my.cnf 改回原有状态,并重启 mysql

    更新user表加password

    update user set password=password(‘linux’) where user=’root’(第二个password会在查看密码内容中加密密码)

    4连接 MySQL

    Mysql不好使时,alias mysql=/usr/local/mysql/bin/mysql 
    mysql -uroot -p123456
    远程连接:mysql -uroot -p123456 -h127.0.0.1 -P3306.
    适合本机连接:mysql -uroot -p123456 -S/tmp/mysql.sock (S指定文件路径)
    连接的时候操作一些命令mysql  -uroot  -p123456  -e “show databases”  select * from user();

    5、权限管理

    1)进行授权 (授权后创造用户)

    grant all on *.* to 'user1' identified by 'passwd';
    grant all on *.* to 'user1' @127.0.0.1 identified by 'passwd';
    默认socket登录:grant all on *.* to 'user1'@‘localhost’ identified by 'passwd';
    对具体的:grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd'; (如果有两个IP地址,重新输入改一下ip)
    对所有的ip进行授权:grant all on db1.* to 'user3'@'%' identified by 'passwd';
    删除授权: 
    mysql> revoke all privileges on *.* from root@”%”; 
    mysql> delete from user where user=”root” and host=”%”; 
    mysql> flush privileges; 

    创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb 

    mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’ 

    2)查看授权表

    >show grants;
    >show grants for name;    //查看name用户权限
    >show grants for user2@192.168.134.130;
    >grant select on db_name.* to name;    //给name用户db_name数据库的所有权限
    >revoke select on db_name.* to name;    //grant的反操作,去除权限;

    、数据库操作 

    1、查看数据库:

    >show databases;

     

    2、创建数据库:

     >create database db_name;  //db_name为数据库名

     

    3、使用数据库:

     >use db_name;

     

    4、删除数据库:  

      >drop database db_name;

    5刷新数据库    

      > flush privileges;

    6、显示数据库mysql中所有的表  

     >show tables;

    7、显示表mysql数据库中user表的列信息 

     >describe user;

    8、查看当前使用的数据库 

    >select database();

       查看密码内容 

    >select passwd from user where user=’root’;

    9、查看当前数据库版本

     >select version();

     

    10查看数据库状态 

    >show status;

    三、

    1、创建表:

    >use db1; create table t1(`id` int(4), `name` char(40));
    >default charset=utf8;  //设置默认的编码,防止数据库中文乱码

     

    2、复制表:

    >create table tb_name2 select * from tb_name;
    或者部分复制:
    >create table tb_name2 select id,name from tb_name;

     

    3、创建临时表:

     >create  temporary table tb_name(这里和创建普通表一样);

     

    4、查看数据库中可用的表:

    >show tables;

     

    5查看表里的字段

     > desc tb_name;

     

    6、删除表: 

    >drop table tb_name;

    7、表重命名:

    >rename table name_old to name_new;或者
    
    >alter table name_old rename name_new;

     

    8、查看建表语句 

    >show create table tb_nameG;

    9查看各参数 

    >show variables; show variables like 'max_connect%';

    10修改参数 

    >set global max_connect_errors=1000;

    11查看队列

     >show processlist; show full processlist;

     

    12修改表更改表结构  

    >alter table tb_name add要更改的内容

    四、MYSQL 常用 SQL 语句

    1、查看表内行数 

    >select count(*) from mysql.user;

    2、查看 db 表内的内容 

    >select * from mysql.db;

    3、查看 db 表内含有 db 字段的内容 

    >select db from mysql.db;

    4、搜索查看多个字段 

    >select db,user from mysql.db;

    注:搜索多个字段时,字段中间要用隔开

    5、查询 host 127.0 的内容  

    >select * from mysql.db where host like  '192.168.%';

    6、 db1.t1 中插入内容 

    >insert into db1.t1 values (1, ‘abc’);

    7、 id=1 的字段内容更新成 

    >aaa update db1.t1 set name='aaa' where  id=1;

    8、清空 db1.t1 表内的内容 

    >truncate table db1.t1;

    注:清空后表的结构依然存在

    9、删除 db1.t1 表内的内容 

    >drop table db1.t1;

    注:清空后连同表的结构一同删除

    10、清空 db1.t1 数据库 

    >drop database db1;

    五、MySQL 数据库的备份与恢复

    1、备份库

    >mysqldump -uroot -p123456 mysql > /tmp/mysql.sql

    2、恢复库

    >mysql -uroot -plinux mysql < /tmp/mysql.sql

    3、备份表

    >mysqldump -uroot -plinux mysql user > /tmp/user.sql

    4、恢复表

    >mysql -uroot -plinux mysql < /tmp/user.sql

    5、备份所有库

    >mysqldump -uroot -p -A > /tmp/123.sql (all)

    6、只备份表结构

    >mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

    、数据

    1、插入数据:

    >insert into tb_name(id,name,score)values(null,'张三',140),(null,'张四',178),(null,'张五',134);  (这里的插入多条数据直接在后边加上逗号,直接写入插入的数据即可;主键id是自增的列,可以不用写)

    2、插入检索出来的数据:

    >insert into tb_name(name,score) select name,score from tb_name2;

    3更新数据指定更新数据

    >update tb_name set score=189 where id=2;
    >update tablename set columnname=newvalue [where condition ]

    4、删除数据

    >delete from tb_name where id=3;
  • 相关阅读:
    Python并行编程(七):线程同步之事件
    Python并行编程(六):线程同步之条件
    Python并行编程(五):线程同步之信号量
    Python并行编程(四):线程同步之RLock
    Python并行编程(三):线程同步之Lock
    UML关系总结——画uml图、流程图、软件结构图、类图、顺序图的方法
    2020,你好!
    字符串和多维数组
    排序算法
    查找技术
  • 原文地址:https://www.cnblogs.com/sxt0103/p/14308101.html
Copyright © 2020-2023  润新知