微信搜索:小大白日志

mysql常用语句

常用语句
1、创建JDStore数据库
1个用户可以有多个数据库database/schema
create database test default character set utf8;
2、导出远程数据库数据:
mysql -h111.1.111.11 -udy_dev -pdy_dev --default-character-set=utf8 dy_dev_hap < c:/hap.sql
红色部分可以修改:dy_dev(用户名、密码),111.1.111.11(远程数据库IP),
dy_dev_hap(要导出的数据schma数据库名称),c:/hap.sql(存放导出数据库的本地sql文件)
3、删除一个schema数据库中所有的表,得到所要执行的drop语句:
select concat('drop table ',table_name,';')
from information_schema.TABLES
where table_schema='dy_hap_dev';
dy_hap_dev为schema名称,可以修改
4、mysql执行语句时间太长(失败)
4.1查看对当前数据库的所有在执行/等待的任务:show full processlist;
杀死任务:kill id
 
 
4.2查看被锁定的事务线程
SELECT * FROM information_schema.INNODB_TRX;
找到trx_mysql_thread_id(等于4.1中执行/等待的任务id),然后杀死4.1中的任务id
5、Linux下重启mysql
任何目录下:service mysqld restart
 
6、root下创建新用户并授权
  • CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    • username:你将创建的用户名
    • host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
    • password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

   发现一个有趣的问题,授权'username'@'%'中的%代表所有客户机ip,但不包括localhost,所以localhost要单独授权给username访问

 
  • GRANT ALL PRIVILEGES ON databasename.tablename TO 'username'@'host' IDENTIFIED BY 'password'
    • privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
    • databasename:数据库名
    • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
    • username、host:用户名,允许用户登录的Ip
    • password:用户登录密码
 
 
posted @ 2019-08-17 23:19  明天喝可乐  阅读(141)  评论(0)    收藏  举报