Mysql命令汇总

没有phpmyadmin,如何操控Mysql? 用Mysql命令

  • 登入mysql:
    mysql -u [用户名] -p [密码]
    例如:mysql -uroot -p12345
  • 先检查默认的引擎(Myisam还是InnoDB还是其他:):
    show engines;

  • 列出所有数据库 命令:
    show databases;
  • 进入某个数据库的mysql命令
    use [数据库名]
    例如: use mysql123
  • 导出结构不导出数据
    mysqldump --opt -d 数据库名 -u root -p 密码 > 路径/xxx.sql 
  • 1.导出结构不导出数据 mysqldump -d 数据库名 -uroot -p > xxx.sql
    2.导出数据不导出结构 mysqldump -t 数据库名 -uroot -p > xxx.sql
    3.导出数据和表结构 mysqldump 数据库名 -uroot -p > xxx.sql
    4.导出特定表的结构 mysqldump -uroot -p -B数据库名 --table 表名 > xxx.sql
  • 建立新数据库命令:
    create database newdatabase123;
    导入123.sql到新建的数据库newdaabase123当中:

    1: 上传sql文件123.sql到数据库服务器目录,比如:/dbhere/123.sql;进入数据库newdatabase123:
    2: use newdatabase123;
    3: 使用以下命令导入sql:
    source /dbhere/123.sql;
    回车即可

  • 如何修改sql文件的引擎?

  • 手动修改已存在的sql文件当中的引擎,从MyISAM更改为InnoDB命令:
    sed -i 's/MyISAM/INNODB/g' yourmyisamdb.sql
  • 相反,要修改已存在的sql文件当中的引擎,从InnoDB更改为MyISAM,命令:
    sed -i 's/INNODB/MyISAM/g' yourmyisamdb.sql
  • 当导入新的sql后需要对其检查:

    1:检查table数是否与之前的吻合:
    use db123.sql;
    show tables;
    2: 检查表的引擎:
     show table status where name='表名';
    比如:
    show table status where name='users';

mysql 用户及权限

登入mysql后,检查已有用户:

  • select user();

mysql的log-bin是一个备份机制,在意外情况下mysql损害后,可以尝试使用log-bin进行恢复,当然,前提是之前已经开启了mysql 的log-bin服务;

检查log-bin是否开启命令:

  • show variables like '%log_bin%';

 

分类: