mysql常用命令总结


连接:mysql [-h127.0.0.1] [-P3306] -uroot -p    (端口要用大写P,与密码p加以区分)

查看mysql的数据库列表:show databases;

使用某个库:use [数据库名];

查看表列表:show tables;

查看数据库的创建sql:show create database [数据库名称];

查看表的创建sql:show create table [表名];

查看数据的字符集相关信息: show variables like '%char%';

其中client、connection、results会根据不同连接设置不同的字符集,cmd下默认就是gbk;

与开发有关的是database与server,其中database必须为utf-8;server是用于设置默认的连接字符集,如果连接设置了字符集则使用连接的,如果未设置则使用server的字符集。

修改server字符集的方法

windows下是修改my.ini文件。

my.ini可以位于以下两个位置:

1、services.msc中配置的MYSQL服务中启动参数 --defaults-file指定的my.ini;

2、如果启动的服务未指定文件路径,则是mysql安装根目录下的my.ini

ubuntu下是修改my.cnf。

my.cnf所在的位置是:

/etc/mysql

修改方式:

[mysqld]

character-set-server=utf8

以上修改完成后,需要重启MYSQL服务。

ubuntu的mysql重启命令:sudo service mysql restart

查看当前登录的用户:select user(); 或 select current_user();

查看数据库系统配置的用户列表:SELECT * FROM mysql.user; (其中权限相关的信息也在这个表中,用户超期也在这个表中)

创建用户编辑用户、创建数据库建议用MySqlWorkBench工具,强大可视,避免错误。

创建用户:CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';

root账户修改用户的密码的方式:udpate mysql.user set authentication_string=password('[你的密码]') where user='[需要修改的用户名]';

有的老版本的mysql保存密码的字段为'password',修改密码是需要根据不同的字段名来调整sql是用authentication_string还是用password。

为用户授权:GRANT ALL PRIVILEGES ON db.* TO 'test'@'localhost';

修改用户信息后刷新用户权限:flush privileges;

创建数据库: create database [数据库名称] default character set utf8 collate utf8_general_ci;

查看用户的授权语句:show grants for [用户名];

移除某个授权:revoke [drop | 权限] on [数据库名称].* from [用户名称];

 删除某个数据库实例:DROP DATABASE [数据库名称];

查询一个用户有几个schemas(数据库实例)的访问权限:show grants for [用户名];  (会将赋权给用户访问的数据列出来)

查看mysql的权限关键字列表:show privilege;

查看某个schema(数据库实例)有哪些用户可以访问:select host,db,user from mysql.db;