1、库操作
#show databases; 查询有哪些库(权限范围内,root可见所有)
#create database [if not exists] test; 创建test库
#drop database [if exists] test; 删除test库
#use test; 进入test数据库,
2、 表操作(已进入某个数据库,或每次操作都指定数据库)
#show tables; 查询当前库中有哪些表
#create table studens(..表结构..); 创建studens表
#drop table studens; 删除studens表;
#desc studens; 查看studens的表结构;
#select 列1,列2 form 表; 查看某个表中的列1,列2数据信息;
3、账号
#create user 'User'@'Host' identified by 'Password'; 创建某个账号
#drop user 'User'@'Host'; 删除某个账号
4、权限
#grant pri1,pri2 on 库.表 to 'User'@'Host' [identified by 'Password'];
各某个用户授予pri1,pri2权限,[且创建该账号,并设定密码]
#revoke pri1,pri2 on 库.表 form 'User'@'Host'; 删除某个账号的pri1,pri2权限
其中 all privileges表示某个MySQL数据库中的所有权限
#show grants; 查看自己的权限
#show grants for 'User'@'Host'; 查看某个用户的权限
5、其他
#flush privileges; 刷新权限,即生效:
#set password = password('新密码'); 更新 MySQL 的用户 root的密码
#mysql -u USERNAME -p -h HOST -p PORT 链接服务端mysql
#show variables like '%character%'; 查看 MySQL 的字符集;
6、文件信息
/var/lib/mysql 是存放数据库文件的目录;
/va r/log 目录下的 mysqld.log 文件记录 MySQL 的日志;
7、性能查看
mysql > show engines; 查看当前支持的搜索引擎
mysql > show table status like 'user'\G; 查看某个表使用的搜索引擎等状态
mysql > show character set; 查看当前数据库支持的所有字符集;
mysql > show global variables like '%iso%'; 查看当前事务隔离级别
mysql > select @@tx_isolation; 查看某变量的值
下列为MySQL语句:
设置用户 root 可以在任意 IP 下被访问:
grant all privileges on *.* to root@"%" identified by "新密码";
设置用户 root 可以在本地被访问:
grant all privileges on *.* to root@"localhost" identified by "新密码";
创建某表如下;
create table studens(Name CHAR(20) NOT NULL,Age TINYINT UNSIGNED,Gender CHAR(1) NOT NULL); 学生信息表:姓名20个字节,不许为空;年龄,单个字节,非负数;性别,不许为空;
查看指定的数据库中指定数据表的字符集,如查看 mysql 数据库中 servers 表的字符集:
show table status from mysql like '%servers%';
查看指定数据库中指定表的全部列的字符集,查看 mysql 数据库中 servers 表的全部的列的字符集:
show full columns from servers;
设置 MySQL 的字符集为 UTF-8:
打开 /etc 目录下的 my.cnf 文件(此文件是 MySQL 的主配置文件):
/etc/my.cnf
在 [mysqld] 前添加如下代码:
[client]
default-character-set=utf8
在 [mysqld] 后添加如下代码:
character_set_server=utf8
9、 备份与还原
备份:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p 'password' database > /root/test.sql 指定单个数据库
mysqldump -u root -p 'password' databases table1 table2 > /root/test.sql 指定某个数据库中的多个表进行备份
mysqldump -u root -p 'password' database1 database2 > /root/test.sql 备份多个数据库
mysqldump -u root -p 'password' -all-databases > /root/test.sql 备份所有数据库
还原
#mysql -u root -p 数据库名 < db.sql
mysql > source /../../db.sql
客户端还原:
条件1、进入客户端模式 mysql >
条件2、创建对应要恢复的数据库,并使用use进入
条件3、保证MySQL数据库的版本号是相同的
mysql 数据库 > source test.sql
10、显示哪些线程正在运行,及显示相应的操作
#show processlist;