美文网首页
MySQL相关命令记录

MySQL相关命令记录

作者: 3ni | 来源:发表于2018-09-27 13:46 被阅读0次

    登陆mysql命令:
    mysql -u 用户名 -p
    例如:mysql -u root -p
    (输完后会让你输密码的)

    远程登陆到mysql命令
    mysql -u root -p -h 主机ip -P端口号 (注意密码是小写p,端口号是大写P)
    例如:mysql -u root -p -h 111.111.111.111 -P 3306
    (输完后会让你输密码的)

    进入到mysql命令行后到命令需要加分号(;)
    创建一个名为test的数据库
    create database test;

    删除一个名为test到数据库
    drop database test;

    显示数据库
    show databases;

    进入到某个数据库中,比如demo
    use demo;

    显示表(进入数据库后)
    show tables;

    删除一个表,比如test_table
    drop table test_table;

    创建一个用户
    create user '用户名'@'ip地址' identified by '用户密码';
    例如:create user 'wzh'@'127.0.0.1' identified by '123456';
    其中如果ip地址为%,则表示这个用户可以用任何ip进行连接这个mysql,如果是127.0.0.1,则表示只能通过本地访问mysql
    比如:create user 'wzh'@'%' identified by '123456';

    删除用户
    drop user 用户名;
    删除已存在的用户,默认删除的是'用户名'@'%'这个用户,如果还有其他的用户如'用户名'@'localhost'等,不会一起被删除。如果要删除'用户名'@'localhost',即drop user '用户名'@'localhost';

    刷新授权
    flush privileges;

    当创建好了一个新用户后,目前这个新用户只有连接这个mysql的权限,而没有其它任何权限,比如查找,插入,删除等权限都没有,所以要给这个新用户给一点点权限,让它可以进行一些操作
    grant 权限 on 数据库.* to 用户名@登录主机 identified by "用户密码";
    表示这个数据库下面所有的表,你也可以指定具体的表如,数据库.表名
    这个权限有哪些呢
    all privileges表示所有的权限
    举例:grant all privileges on 数据库.
    to 用户名@登录主机 identified by "用户密码";

    还有以下权限:
    select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file
    举例:grant select, insert,update,delete,create,drop on 数据库.* to 用户名@登录主机 identified by "用户密码";
    给完权限后记得要flush privileges;

    撤销权限
    evoke 权限 on 数据库.* from 用户名@登录主机;
    记得要flush privileges;

    修改表名
    rename table 原表名 to 新表名;

    导出一个数据库
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    注意没有分号,因为不是在mysql命令行中执行的
    举例:mysqldump -u wzh -p database_name > outfile_name.sql
    (输完后会让你输密码的)

    导出一个表
    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    举例:mysqldump -u wzh -p database_name table_name > outfile_name.sql
    (输完后会让你输密码的)

    导入一个数据库
    命令source sql文件路径(前提是连接到mysql数据库)
    连接到mysql后,新建一个database,然后use database,进入到数据库里面,然后用source sql文件路径命令导入新的数据库中

    如何远程连接mysql
    首先如果你是新建的用户,ip地址处要写%
    比如:create user 'wzh'@'%' identified by '123456';
    用户名:wzh
    密码:123456
    %代表这个用户可以从任意ip访问mysql
    新建完用户后,别忘了给权限,不然什么都不能操作

    如果是root用户,那么就要修改一下mysql中user表的内容
    连接到mysql后,进入到mysql数据库(use mysql)
    然后查看表user的部分信息
    select host, user from user;
    如图:


    图1.png

    root的host是localhost,所以要改成%,用下面这条更新命令
    update user set host='%' where user='root';
    然后再查看就可以了

    这个弄完后,还要改一下配置文件。
    配置文件每个系统地方都有所区别(区别不会很大),这个需要网上查询,我系统是ubuntu16.04
    所以在/etc/mysql/mysql.conf.d/目录下的mysqld.cnf文件
    将文件中的如下行
    bind-address = 127.0.0.1
    用#注释掉,然后查看port = 3306是否有这行,这个端口可以自己更改
    改完后保存退出

    输入命令netstat -tan
    查看是否正常开启端口
    如图2所示表示已经正常开启端口

    图2.png

    然后就可以远程连接了

    相关文章

      网友评论

          本文标题:MySQL相关命令记录

          本文链接:https://www.haomeiwen.com/subject/ackeoftx.html