Mysql入门教程--基础命令
#mysql
-----------------------------------------------------------------------------------------
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql>
// 进入mysql
-----------------------------------------------------------------------------------------
mysql> mysql -u root
-> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
//修改root密码
mysql>show processlist;
//显示了有哪些线程在运行
mysql> show engines;
//看你的mysql现在已提供什么存储引擎
mysql> show variables like '%storage_engine%';
//看你的mysql当前默认的存储引擎
mysql> show charset;
//查看mysql所支持的字符集
mysql> show variables like '%char%';
//查看MySQL数据库服务器和数据库字符集
mysql> show table status from mysql_db like '%tb_name%'
//查看表的字符集
mysql> show full columns from tb_name;
//查看表中所有列的字符集
set character_set_connection=gb2312;
//修改连接层字符集
set character_set_database=gb2312;
//修改当前选中数据库的默认字符集
set character_set_results=gb2312;
//修改查询结果字符集
set character_set_server=gb2312;
//修改默认的内部操作字符集
set character_set_client=gb2312;
//修改客户端来源数据使用的字符集
set character_set_system=gb2312;
//修改系统元数据(字段名等)字符集
set collation_connection=gb2312;
set collation_database=gb2312;
set collation_server=gb2312;
//还有以collation_开头的同上面对应的变量,用来描述字符序
ALTER TABLE tb_name CONVERT TO CHARACTER SET gb2312;
//修改表的字符集
alter table tb_name modify column tb_column varchar(30) character set gb2312 not null;
//修改字段字符集
-----------------------------------------------------------------------------------------
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
//查看数据库登陆所有用户
+----------------------------+
| query |
+----------------------------+
| User: 'root'@'127.0.0.1'; |
| User: ''@'localhost'; |
| User: 'root'@'localhost'; |
| User: ''@'webq'; |
| User: 'root'@'webq'; |
+----------------------------+
5 rows in set (0.00 sec)
mysql> select * from mysql.user where user='root' \G
//查看数据库中具体某个用户的权限
mysql> desc mysql.user;
//查看mysql.user表结构
mysql> show databases;
//显示所有数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
mysql> use mysql;
//打开数据库mysql;切换数据库
mysql> show tables;
//显示数据库mysql的所有表
-----------------------------------------------------------------------------------------
mysql> insert into mysql.user(Host,User,Password) values("localhost","TesT",password("p@ssw0rd"));
//增加数据库用户
mysql> flush privileges;
//刷新系统权限表;
+----------------------------+
| query |
+----------------------------+
| User: 'root'@'127.0.0.1'; |
| User: ''@'localhost'; |
| User: 'TesT'@'localhost'; |
| User: 'root'@'localhost'; |
| User: ''@'webq'; |
| User: 'root'@'webq'; |
+----------------------------+
6 rows in set (0.00 sec)
mysql> delete from mysql.user where user='filon' and host='localhost';
//删除数据库用户命令:
+---------------------------+
| query |
+---------------------------+
| User: 'root'@'127.0.0.1'; |
| User: ''@'localhost'; |
| User: 'root'@'localhost'; |
| User: ''@'webq'; |
| User: 'root'@'webq'; |
+---------------------------+
5 rows in set (0.00 sec)
mysql> CREATE USER 'TesT'@'localhost' IDENTIFIED BY 'p@ssw0rd';
//创建数据库用户
+---------------------------+
| query |
+---------------------------+
| User: 'root'@'127.0.0.1'; |
| User: ''@'localhost'; |
| User: 'TesT'@'localhost'; |
| User: 'root'@'localhost'; |
| User: ''@'webq'; |
| User: 'root'@'webq'; |
+---------------------------+
6 rows in set (0.00 sec)
mysql> create database TesT;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| TesT |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> grant all privileges on TesT.* to TesT@localhost identified by 'p@ssw0rd';
数据库授权:
mysql> grant select,insert,update,delete on *.* to username@"%" Identified by "p@ssw0rd";
mysql> grant select,insert,update,delete on test.* to username@localhost identified by "p@ssw0rd";
mysql> grant all privileges on test.* to username@localhost identified by 'p@ssw0rd';
//数据库授权格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
mysql>flush privileges;
//刷新系统权限表
mysql> drop user TesT@'localhost';
//删除账户及权限
mysql> create database <数据库名>;
//创建数据库
mysql> CREATE TABLE IF NOT EXISTS <数据库表名> (
column1 INT(11),
column2 VARCHAR(255),
column3 DATE,
.
.
.
//A table must have at least 1 column
);
//创建数据库表
mysql> drop database 库名;
//删除数据库
mysql> drop table 表名;
//删除表
-----------------------------------------------------------------------------------------
mysql> mysqlcheck --all-databases -o
//优化数据库 #optimize(一周使用一次就可以,酌情适当增加使用次数)
mysql> mysqlcheck –all-databases -r
//修复数据库 #repair
mysql> mysqlcheck –all-databases -a
//分析数据库 #analyze
mysql> mysqlcheck -r steelssc_ccc
//修复单个数据库 #repair
mysql> mysqlcheck -r database1 database2 ···
///修复多个数据库 #repair
-----------------------------------------------------------------------------------------
备份数据库 (命令其实非常简单,可以不需要密码:)
方法一:
mysql> mysqldump TesT_bbs > TesT_bbs.sql
//进入到库目录 备份数据库
格式:mysql> mysqldump -u root -p --opt 数据库名>备份名;
方法二:mysql
>use TesT_bbs;
>source /home/TesT/public_html/TesT_bbs.sql;
恢复数据库
mysql> mysql -u root -p 数据库名<备份名;
//恢复时数据库必须存在,可以为空数据库
导入数据库
#mysql TesT_bbs < /home/TesT/public_html/TesT_bbs.sql
//导入数据库:mysql 数据库名称 < 绝对路径+要导入数据库名称.sql
转载于:https://blog.51cto.com/chaochang/1976828