mysql日常操作命令
1.mysql连接(端口要用大写P,与密码p加以区分):
mysql [-h127.0.0.1] [-P3306] -uroot -p
2.查看mysql的数据库列表:
show databases;
3.使用某个库:
use [数据库名];
4.查看表列表:
show tables;
5.查看数据库的创建sql:
show create database [数据库名称];
6.查看表的创建sql:
show create table [表名];
7. 查看数据的字符集相关信息:
show variables like '%char%';
其中client、connection、results会根据不同连接设置不同的字符集,cmd下默认就是gbk;
与开发有关的是database与server,其中database必须为utf-8;server是用于设置默认的连接字符集,如果连接设置了字符集则使用连接的,如果未设置则使用server的字符集。
8. 修改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
9. 查看当前登录的用户:
select user(); 或 select current_user();
10. 查看数据库系统配置的用户列表:
SELECT * FROM mysql.user; (其中权限相关的信息也在这个表中,用户超期也在这个表中)
11. 创建用户编辑用户、创建数据库建议用MySqlWorkBench工具,强大可视,避免错误。
a.创建用户:
CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';
b.root账户修改用户的密码的方式:
udpate mysql.user set authentication_string=password('[你的密码]') where user='[需要修改的用户名]';
有的老版本的mysql保存密码的字段为'password',修改密码是需要根据不同的字段名来调整sql是用authentication_string还是用password。
c.为用户授权:
GRANT ALL PRIVILEGES ON db.* TO 'test'@'localhost';
d.修改用户信息后刷新用户权限:
flush privileges;
e.创建数据库:
create database [数据库名称] default character set utf8 collate utf8_general_ci;
f.查看用户的授权语句:
show grants for [用户名];
g.移除某个授权:
revoke [drop | 权限] on [数据库名称].* from [用户名称];
h.删除某个数据库实例:
DROP DATABASE [数据库名称];
i.查询一个用户有几个schemas(数据库实例)的访问权限:
show grants for [用户名]; (会将赋权给用户访问的数据列出来)
j.查看mysql的权限关键字列表:
show privilege;
k.查看某个schema(数据库实例)有哪些用户可以访问:
select host,db,user from mysql.db;