Mysql经常使用命令(不按期更新)

1.用户名、密码、权限 mysql

  
  
  
  
  1. 增长新用户: linux

  2. 查询:grant select on database.*  to "username"@"yourip" identified by "password"; sql

  3. 所有权限:grant all privileges on *.* to" username"@"yourip" identified by "password"; 数据库

  4. 本地全部权限:grant all privilegeson *.* to"username"@"localhost" identified by "password"; 服务器

  5. *.*:  database.table  *.* 全部的数据库和表,根据我的要求修改database和table名数据结构

  6. "username"@"yourip"  例如:"root"@"ip地址",即赋予该ip地址登录此数据库的权限。%表明全部任意ip
    ide

  7. 增长一个用户skys,并容许从其余机器登录:  编码

  8. 增删改查:grant select,insert,update,delete on *.* to skys@"%" identified by "123456"; spa

  9. 所有权限:grant all privileges on *.* to"skys"@"%" identified by "123456"; 命令行

  10. 修改用户名密码:

  11. 修改mysql密码:mysqladmin -u用户名 -p旧密码 password 新密码

  12. 或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root");

2. 经常使用数据库命令

  
  
  
  
  1. 查看数据库引擎:     show engines;

  2. 显示数据库列表:     show databases;

  3. 使用数据库:         use库名;

  4. 显示表:             show表名;

  5. 显示数据表的结构:   describe 表名;

  6. 删库:                dropdatabase 库名;      

  7. 删表:                droptable 表名;

  8. 将表中记录清空:     delete from 表名;

  9. 显示表中的记录:select * from 表名;

  10. 建立数据库并指定编码:

  11. 1. create database 数据库名 character set utf8 collate utf8_general_ci;

  12. 2. create  database if not exists 数据库名 default character set utf8;

  13. 查看数据库编码格式的命令:

  14. 1. show variables like 'character%';显示内容较多

  15. 2. show variables like 'collation%';显示内容较少

  16. >show variables like'character%';  

  17. +--------------------------+----------------------------+

  18. | Variable_name | Value |  

  19. +--------------------------+----------------------------+

  20. | character_set_client | latin1 |  

  21. | character_set_connection | latin1 |  

  22. | character_set_database | latin1 |  

  23. | character_set_filesystem | binary |  

  24. | character_set_results | latin1 |  

  25. | character_set_server | latin1 |  

  26. | character_set_system | utf8 |  

  27. | character_sets_dir | /usr/share/mysql/charsets/ |  

  28. +--------------------------+----------------------------+

  29. 从以上信息可知数据库的编码为latin1,须要修改成gbk或者是utf8;

  30. 其中,character_set_client为客户端编码方式;

  31. character_set_connection为创建链接使用的编码;

  32. character_set_database数据库的编码;

  33. character_set_results结果集的编码;

  34. character_set_server数据库服务器的编码;

  35. 只要保证以上五个采用的编码方式同样,就不会出现乱码问题。

3. 数据库的导入导出

  
  
  
  
  1. 导出数据库和表:(假设数据库名为skys)

  2. 备份数据库:mysqldump -uroot -p --lock-tables skys > news.sql (new 任意名)

  3. 备份全部数据库: mysqldump --all-databases > all-databases.sql

  4. 备份表:mysqldump -u root -p skys tablename > news.sql;

  5. 不备份某个表(多个则写多个):mysqldump -u root -p --ignore-table=sks.tablename skys > news.sql;

  6. MySQL备份并刷新日志:mysqldump -uroot -p密码 --flush-logs --master-data=2 --lock-tables new > new.sql

  7. 两个参数的解说: --single-transaction 用于innodb引擎,而--lock-tables用于myisam。

  1. 经常使用:

  2. 只导出结构:mysqldump -uroot -p -q -d --lock-tables 数据库名> news1.sql

  3. 只导出数据不导出结构:mysqldump -uroot -p -q -t --lock-tables 数据库名> news2.sql

  4. 导出存储过程:mysqldump -uroot -n -t -d -R --triggers=false new > new.sql

  5. 导出数据库导出存储过程导出事件:mysqldump -uroot -nR --events new> a.sql;

  6. 导出事件:mysqldump -uroot -p -q -t -d --events skys > events.sql


  7. 导入数据和表:

  8. 命令行导入数据库:mysql -uroot -p < news.sql

  9. mysql命令下执行导入:use 数据库名; source news.sql;

  10. 运行存储过程:call 名称(参数);

  11. 备注1:用命令导出数据库和用Navicat等客户端导出的数据库多少会存在差别,经过linux系统下的mysql命令

  12. 导出的数据库建议仍然使用命令导入,经过客户端导出的数据库用命令导入时,会发现常常爆warning警告!

  13. 备注2:对于不一样版本的mysql。建议分别导出数据结构和数据,再从新导入。(可减小出错率,防止出现没必要要损失)

  14. 备注3:分别导出数据和导出结构时,须要注意结构中是否有DROP命令,根据我的状况选择是否删除DROP命令。

相关文章
相关标签/搜索