Mysql DBA 高级运维学习笔记-mysql数据库常用管理应用

9.1 创建数据库

命令语法:create database<数据库名> 注意库名不能数字开头
在mysql默认字符集情况下建立数据库测试如下:

a. 建立一个名为zbf的数据库

[email protected] 08:3120->create database zbf;
Query OK, 1 row affected (0.00 sec)
[email protected] 08:3810->show databases like ‘z%‘;
+---------------+
| Database (z%) |
+---------------+
| zbf   |
+---------------+
1 row in set (0.01 sec)

查看建库语句

[email protected] 08:4634->show create database zbf\G
*************************** 1. row ***************************
   Database: zbf
Create Database: CREATE DATABASE `zbf` /*!40100 DEFAULT CHARACTER SET latin1 */ 默认是latin字符集
1 row in set (0.00 sec)

b.建立一个名为zbf_gbk的GBK字符集数据库

create database zbf_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

c.创建一个名为zbf_utf8的UTF8数据库

[email protected] 09:1523->create database zbf_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
[email protected] 09:1616->show create database zbf_utf8\G;
*************************** 1. row ***************************
   Database: zbf_utf8
Create Database: CREATE DATABASE `zbf_utf8` /*!40100 DEFAULT CHARACTER SET utf8 */
1 row in set (0.00 sec)

d.创建不同字符集格式的数据库命令

create database zbf; 默认数据库配置,相当于创建拉丁字符集数据库。

create database zbf_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 创建gbk字符集数据库

create database zbf_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创建utf8字符集数据库

提示:字符集的不一致是导致数据库中文内容乱码的罪魁祸首。

提示:如果编译的时候指定了特定的字符集,则以后创建对应字符集的数据库就不需要指定了。如下:

    -DDEFAULT_CHARSET=utf8 \                            #指定默认字符集

    -DDEFAULT_COLLATION=utf8_general_ci \

然后建库的时候就默认创建即可,create database zbf;

e.那么企业里怎么创建数据库呢?

1.根据开发的环境确定字符集(建议UTF8)

2.编译的时候指定字符集。例如:

-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci \

然后建库的时候默认创建即可,create database zbf。

3.编译的时候没有指定字符集或者指定了和程序不同的字符集,如何解决?

指定字符集创建数据库即可

create database zbf; 默认数据库配置,相当于创建拉丁字符集数据库。
create database zbf_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;创建gbk字符集数据库
create database zbf_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;创建utf8字符集数据库

数据库要支持创建库的字符集,例如

    -DEXTRA_CHARSETS=gbk,gb2312,utf8,asci或
    -DEXTRA_CHARSETS=all

9.2 显示数据库

命令:show databases;

[email protected] 07:0810->show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mysql  |
| zbf|
| zbf_utf8   |
+--------------------+
4   rows in set (0.00 sec)

[email protected] 07:3122->help show
SHOW DATABASES [like_or_where]

[email protected] 07:3027->show databases like ‘%zb%‘; %为通配符,匹配所有内容
+-----------------+
| Database (%zb%) |
+-----------------+
| zbf |
| zbf_utf8|
+-----------------+
2   rows in set (0.00 sec)

查看当前数据库,为空

[email protected] 07:3537->select database();
+------------+
| database() |
+------------+
| NULL   |
+------------+
1 row in set (0.00 sec)

进入数据库,在查看一次

[email protected] 07:3638->use zbf;
Database changed
[email protected] 07:4001->select database();
+------------+
| database() |
+------------+
| zbf|
+------------+
1   row in set (0.00 sec)

9.3 删除数据库

命令:drop database<数据库名>

例如:删除名为zbf的数据库

[email protected] 07:4005->show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mysql  |
| zbf|
| zbf_utf8   |
+--------------------+
4   rows in set (0.00 sec)
[email protected] 07:4620->drop database zbf;
Query OK, 0 rows affected (0.00 sec)
[email protected] 07:4635->show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mysql  |
| zbf_utf8   |
+--------------------+
2   rows in set (0.00 sec)

不会要经常看帮助

[email protected] 07:5010->help drop database
Name: ‘DROP DATABASE‘
Description:
Syntax:
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

9.4 连接数据库

命令:use <数据库名> 相当于linux下的cd切换目录的命令,use是切换数据库
例如:

[email protected] 08:0746->use zbf;
Database changed
[email protected] 08:0802->select database();
+------------+
| database() |
+------------+
| zbf|
+------------+
1   row in set (0.00 sec)

9.5 查看当前连接的数据库

[email protected] 08:0802->select database();相当于linux下的pwd
+------------+
| database() |
+------------+
| zbf|
+------------+
1 row in set (0.00 sec)

查看版本

[email protected] 08:0938->select version();
+------------+
| version()  |
+------------+
| 5.1.72-log |
+------------+
1 row in set (0.00 sec)

查看当前的用户

[email protected] 08:1316->select user();
+------------------+
| user()   |
+------------------+
| [email protected] |
+------------------+
1 row in set (0.00 sec)

查看当前的时间

[email protected] 08:1327->select now();
+---------------------+
| now()   |
+---------------------+
| 2018-01-18 20:14:43 |
+---------------------+
1   row in set (0.01 sec)

9.6 查看当前数据库包含的表信息

切换到数据库里面去查看

[email protected] 08:1630->show tables;
Empty set (0.00 sec) 空表,新库还没有建表
[email protected] 08:1742->show tables like ‘user‘;
Empty set (0.00 sec)
[email protected] 08:2016->show tables from zbf; 查询指定数据库的表
Empty set (0.00 sec)
[email protected] 08:2030->show tables in zbf;
Empty set (0.00 sec)

9.7 删除mysql系统多余账号

语法:drop user “user”@”主机域”<=注意引号可以是单引号或双引号,但是不能不加。

mysql> select user,host from mysql.user;
+------+-----------+
| user | host  |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1   |
|  | localhost |
| root | localhost |
|  | mysql |
| root | mysql |
+------+-----------+
6 rows in set (0.00 sec)
mysql> drop user ‘‘@‘localhost‘; 没有的部分就用两个单引号代替即可
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------+-----------+
| user | host  |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1   |
| root | localhost |
|  | mysql |
| root | mysql |
+------+-----------+
5 rows in set (0.00 sec)

注意:如果drop删除不了(一般是特殊字符或大写导致的),可以用下面方式删除。

Delete from mysql.user where user=’root’and host=’mysql’;
Flush privileges;

2018/1/26 23:51:40

原文地址:http://blog.51cto.com/10642812/2065684

时间: 2024-09-28 21:11:51

Mysql DBA 高级运维学习笔记-mysql数据库常用管理应用的相关文章

Mysql DBA高级运维学习笔记-mysql数据库介绍

本文为我自己学习老男孩MySQL DBA 高级运维课程的学习笔记,内容均出自老男孩MySQL DBA 高级运维课程,老男孩老师讲的很好,非常感谢老男孩老师.我是一个菜鸟刚接触运维,如果我写的文章有不对的地方:请各位行业的精英.老师多多批评指点,呵呵~ 1.1 数据库介绍 1.1.1 什么是数据库?简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织.存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据. 1.2 数据库的

Mysql DBA高级运维学习笔记-Mysql数据库的多种安装方法

3.1 MySQL数据库的安装 3.1.1 yum/rpm方式安装 注意:yum/rpm方式安装MySQL适合所有MySQL软件产品系列. (1)rpm包方式安装mysql我们必须安装Mysql-server和Mysql.client包,rpm安装很简单这里就不说了. (2)yum方式安装mysqlyum 安装的方式很简单,只要执行yum install mysql-server –y即可.大的门户把源码根据企业的需求制作成rpm,搭建yum仓库,yum install xxx -y. 3.1.

Mysql DBA 高级运维学习笔记-MySQL备份与恢复实战案例及生产方案

1.全量备份与增量备份 1.1 全量备份 全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B –A gzip >/server/backup/mysq_backup_$(date +%F).sql.gz 备份一个库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B linzhong

Mysql DBA 高级运维学习笔记-Mysql增量备份及数据恢复实战

大家好本文讲了mysql数据库的增量恢复.老男孩老师讲的很好很细,我自己呢整理了老师讲的部分内容,请大家将就看:文章内容比较多.比较乱,请大家认真总结知识,发现问题请及时批评指点~ 1.1 MySQL数据库的备份与恢复 1.1.1备份单个数据库练习多种参数使用 Mysql数据库自带了一个很好用的备份命令,就是mysqldump, 它的基本使用如下: 语法:mysqldump –u用户名 –p密码 数据库名>备份的文件名 范烈1:备份名字为cuizhong的库 a.查看备份前的数据 [[email

Mysql DBA 高级运维学习笔记-Mysql常用基础命令实战

7.1 单实例mysql启动和关闭方法 (1)常规方法启动数据库 1.启动mysql服务命令 [[email protected] ~]# /etc/init.d/mysqld start Starting MySQL. SUCCESS! 2.查看mysql端口 [[email protected] ~]# ss -lnt|grep 3306 LISTEN 0 50*:3306 *:* 3.查看mysql进程 会启动两个进程第一个就是mysql_safe第二个是mysqld [[email pr

Mysql DBA 高级运维学习笔记-Mysql插入中文乱码问题

1.1 mysql插入中文数据乱码 1.1.1MySQL中添加中文数据并查看检表语句 a.创建cuizhong测试数据库并查看建表语句 mysql> create database cuizhong; Query OK, 1 row affected (0.00 sec) mysql> show create database cuizhong\G *************************** 1. row *************************** Database:

Mysql DBA 高级运维学习笔记-Mysql数据库字符集知识

1.2 Mysql数据库字符集知识 1.2.1 MySQL数据库字符集介绍 简单的说,一套文字符号及其编码.比较规则的集合. MySQL数据库字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念.其中,字符集是用来定义MySQL数据字符串的存储方式,而校对规则则是定义比较字符串的方式.前面建库的语句中,CHARACTER SET latin1即为数据库字符集而COLLATE latin1_wedish_ci 为校对字符集,有关字符集详细内容参考mysql手册,第10张字

Mysql DBA 高级运维学习笔记-Mysql数据库中的日志文件

1.MySQL 引擎概述 1.1 什么是存储引擎 我们在录制一个视频文件的时候,可以转换成不同的格式如mp4,avi,wmv等,而且在电脑的磁盘上也会存在于不同类型的文件系统windows里常见的ntfs,fat32,存在于linux操作系统里常见的ext3,ext4,xfs.但是跟我们呈现的内容都是一样的,直观的区别是占用系统空间的大小与清晰程度不一样.那么数据库存储引擎也有很多种存储方式.无论用什么存储引擎来存储,用户看到的数据都是一样的.不同的引擎存储,引擎功能,占用的空间的大小,读取性能

Mysql DBA 高级运维学习笔记-mysql建表语句及表知识

9.9 表操作 9.9.1以默认字符集建库 以默认格式的为例,指定字符集建库 [email protected] 07:0205->create database wwn; Query OK, 1 row affected (0.00 sec) [email protected] 07:0339->SHOW CREATE DATABASE wwn\G; *************************** 1. row *************************** Database