Marco Nie - mysql 2019-02-18T10:47:00+08:00 Typecho https://blog.niekun.net/feed/atom/tag/mysql/ <![CDATA[MySQL基本操作]]> https://blog.niekun.net/archives/23.html 2019-02-18T10:47:00+08:00 2019-02-18T10:47:00+08:00 admin https://niekun.net 我使用的blog系统基于动态数据库。使用了MySQL管理数据,使用过程中学习了简单常用的指令,涉及创建,查看,备份数据库。

进入MySQL

mysql -uUSER -pPASSWORD
  • USER为用户名,安装MySQL的时候会自动创建root用户
  • PASSWORD为用户密码,此密码对应用户名

退出 MySQL

quit;

创建用户

create user "newuser"@"localhost" identified by "PASSWORD";
  • 注意MySQL每条指令以分号;结束
  • newuser为新用户名
  • PASSWORD为此用户密码

给新用户授权:

# 授予全部数据库权限
grant all privileges on *.* to 'NEWUSER'@'localhost';
FLUSH PRIVILEGES;

# 授予某个数据库权限
grant all privileges on DB.* to "NEWUSER"@"localhost";
FLUSH PRIVILEGES;

查看当前已建立的用户

SELECT user,authentication_string,plugin,host FROM mysql.user;

返回结果中 plugin 里显示 auth_socket 的用户为管理员用户,有最高权限。

删除某个用户

drop user WHICHUSER@localhost;

创建数据库

//创建数据库`newDB`
create database newDB;
//授权所有权限
grant all privileges on newDB.* to "newuser"@"localhost" identified by "PASSWORD";
FLUSH PRIVILEGES;

查看数据库

//查看所有数据库
show databases;

//查看数据库信息    
show create database newDB;

**//删除数据库**
drop database newDB;

//查看一个数据库内容
use newDB;
show tables;

//例如显示tables内容为:test1 test2 test3
//查看数据表信息,后面加上参数/G可使结果更加美观
show create table test1;

//查看表的的字段信息
desc test1;

修改用户密码

ALTER USER 'user'@'localhost' IDENTIFIED BY 'newPass';
flush privileges;

备份数据库

备份所有数据库:

mysqldump -uUSER -pPASSWORD --all-databases > /path/to/backup.sql

备份特定一个数据库:

mysqldump -uUSER -pPASSWORD DATABASE_NAME > /path/to/backup.sql

还原数据库

还原特定一个数据库:

mysqldump -uUSER -pPASSWORD DATABASE_NAME < /path/to/backup.sql

恢复新建立数据库数据,我在恢复数据的时候使用了这种方法:

use YOUDATABASE
source /path/to/mysql.sql
grant all privileges on blog.* to "root"@"localhost" identified by "password";
]]>