`

【转载】MYSQL-DBA常用操作手册

阅读更多
1.mysql的远程连接命令可以远程导入导出数据
mysqldump --default-character-set=gb2312 -h255.255.000.00 -uroot -pxxxxxx mydatabase>d:\data.sql
将指定的数据库导出到一个外部SQL文件中去!
还原命令:
mysql --default-character-set=gb2312 -h255.255.000.00 -uroot -pxxxxxx mydatabase<d:\data.sql

2. MYSQL三种升级方法
安装办法:二进制包编译安装
第一种:适用于任何一种存储引擎。

1. 下载并安装好新版本的MySQL数据库,并将其端口改为3307(避免和旧版本的3306冲突),启动服务。

2. 在新版本下创建同名数据库。

# mysqldump  -p3307  -uroot  create mysqlsystems_com

3. 在旧版本下备份该数据库。

# mysqldump  -p3306  -uroot  mysqlsystems_com > mysqlsystems_com.bk

Note: 你也可以加上–opt选项,这样可以使用优化方式将你的数据库导出,减少未知的问题。

4. 将导出的数据库备份导入到新版本的MySQL数据库中。

# mysql -p3307 -uroot mysqlsystems_com < mysqlsystems_com.bk

5. 再将旧版本数据库中的data目录下的mysql数据库全部覆盖到新版本中。

# cp -R /opt/mysql-5.1/data/mysql  /opt/mysql-5.4/data(权限库保持不变)

Note: 大家也都知道这个默认数据库的重要性。

6. 在新版下执行mysql_upgrade命令,其实这个命令包含一下三个命令:

# mysqlcheck –check-upgrade –all-databases –auto-repair
# mysql_fix_privilege_tables
# mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names

Note: 在每一次的升级过程中,mysql_upgrade这个命令我们都应该去执行,它通过mysqlcheck命令帮我们去检查表是否兼容新版本的数据库同时作出修复,还有个很重要的作用就是使用mysql_fix_privilege_tables命令去升级权限表。

7. 关闭旧版本,将新版的数据库的使用端口改为3306,重新启动新版本MySQL数据库。到此,一个简单环境下的数据库升级就结束了。

第二种,同样适用任何存储引擎。

1. 同样先安装好新版本的MySQL。

2. 在旧版本中,备份数据库。

# mkdir /opt/mysqlsystems_bk  ;  mysqldump -p3306 -uroot –tab=/opt/mysqlsystems_bk  mysqlsystems_com

Note: –tab选项可以在备份目录mysqlsystems_bk下生成后缀为*.sql和*.txt的两类文件;其中,.sql保存了创建表的SQL语句而.txt保存着原始数据。

3. 接下来在新版本的数据库下更新数据。

# mysqladmin -p3307 -uroot create mysqlsystems_com

# cat /opt/mysqlsystems_bk/*.sql | mysql -p3307 -uroot  mysqlsystems_com       ( Create Tables )

# mysqlimport mysqlsystems_com /opt/mysqlsystems_bk/*.txt            ( Load Data )

4. 之后的所有步骤与第一种方法的后三步5、6、7相同。

第三种,适用于MyISAM存储引擎,全部是文件间的拷贝。

1. 安装。

2. 从旧版本mysqlsystems_com数据库下将所有.frm、.MYD 和.MYI文件拷贝到新版本的相同目录下。

3.之后的步骤依然同于第一种的后三步。

以上就是三种升级MySQL的方法,看似没有出现什么问题,其实,在实际的生产环境中,为会有诸多问题发生,这就需要我们在升级之前充分了解新版本中增加了哪些新功能,进一步分析升级以后这些新特性是否将会对我们原来应用产生影响。

3. MYSQL远程连接不了的解决方案

有可能是这个用户权限不够。查看一下权限表。

4. MYSQL忘记密码解决办法

在windows下:
打开命令行窗口,停止mysql服务:Net stop mysql
到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动,在命令行窗口执行:mysqld-nt --skip-grant-tables
然后另外打开一个命入令行窗口,执行mysql,此时无需输入密码即可进入。
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
>exit
使用任务管理器,找到mysqld-nt的进程,结束进程!
在重新启动mysql-nt服务,就可以用新密码登录了。

在linux下:
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL 。

5. 更改MYSQL的默认字符集

法1、 用 SET 语法来指定,不加 "GLOBAL" 的话就只对本次会话有效
SET [GLOBAL] character_set_client = utf8;
SET [GLOBAL] character_set_connection = utf8;
SET [GLOBAL] character_set_database = utf8;
SET [GLOBAL] character_set_results = utf8;
SET [GLOBAL] character_set_server = utf8;

方法2、 也用SET语法,只对本次会话有效
SET NAMES 'utf8';

方法3、) 直接修改 my.cnf,增加一行内容,然后重启 MySQL,使之全局生效
default-character-set = utf8

6.MYSQL慢查询分析工具:mysqldumpslow

mysqldumpslow命令
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log
这会输出记录次数最多的10条SQL语句,其中:

    * -s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
    * -t, 是top n的意思,即为返回前面多少条的数据;
    * -g, 后边可以写一个正则匹配模式,大小写不敏感的;

比如
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
得到返回记录集最多的10个查询。
/path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log
得到按照时间排序的前10条里面含有左连接的查询语句。
分享到:
评论

相关推荐

    MySQL-DBA(老男孩&老顽童)运维班全套视频教程

    MySQL-DBA(老男孩&老顽童)运维班全套视频教程 01.MySQL-DBA(老男孩) 02.MySQL-DBA(老顽童)

    mysql-mongo-for-mysql-dba-webinar.zip

    【描述】:“mysql-mongo-for-mysql-dba-webinar”指的是一个在线研讨会或网络研讨会,专为熟悉MySQL的数据库管理员(DBA)设计,旨在介绍如何从传统的MySQL数据库迁移到NoSQL数据库系统,特别是MongoDB。...

    mysql dba 常用脚本

    以下是一些MySQL DBA常用的知识点,结合“mysql_mgr_test-master”这个文件名,我们可以推测这可能是一个包含MySQL管理测试脚本的项目库。 1. 数据库备份:备份是DBA工作中的关键环节,防止数据丢失。通常使用`...

    mysql-dba培训视频.rar

    MySQL数据库管理员(DBA)是IT领域中的一个重要角色,负责管理和优化数据库系统,确保数据的安全性和可用性。本培训视频集旨在深入讲解MySQL的各个方面,帮助你成为一名合格的MySQL DBA。以下是根据提供的文件信息...

    mysql-connector-java-5.1.40.zip和mysql-connector-java-5.1.10.jar

    本文将深入探讨这两个文件:"mysql-connector-java-5.1.40.zip" 和 "mysql-connector-java-5.1.10.jar",以及它们在Java开发中的作用。 首先,`mysql-connector-java-5.1.40.zip` 是一个压缩文件,包含了MySQL ...

    老男孩Mysql高级DBA 实战新浪首席DBA 老男孩教育杨海朝老师全程主讲 老男孩Mysql视频.txt

    ├─L001-oldboy-mysql-dba-lesson01 │ 101_rec.mp4 │ 102_rec.mp4 │ 103_rec.mp4 │ 104_rec.mp4 │ 105_rec.mp4 │ 106_rec.mp4 │ 107_rec.mp4 │ MySQL-day1课件.rar │ ├─L002-oldboy-mysql-dba-lesson02...

    mysql-connector-java-8.0.22.jar

    包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-...

    MySQL入门+进阶资源合集+MySQL学习资料-mysql-dba-master.zip

    此外,文件列表中的"mysql-dba-master"可能包含以下内容: 1. 教程文档:详述MySQL的安装、配置、基本操作和高级功能。 2. 实战案例:提供实际数据库设计和问题解决的示例。 3. 脚本和代码样本:展示如何编写SQL...

    mysql-mongo-for-mysql-dba-webinar.pdf

    MongoDB 是一个流行的开源文档数据库系统,主要用于处理大规模数据分布式存储。它与传统的关系型数据库如MySQL有着显著的区别,...作为MySQL的DBA,学习和理解MongoDB的特性和用法,有助于应对多样化的数据库应用场景。

    国产麒麟系统KylinOS 安装MySQL 8.0-RPM包安装操作手册

    国产麒麟系统KylinOS 安装MySQL 8.0-RPM包安装操作手册 在国产麒麟系统KylinOS环境下安装MySQL 8.0-RPM包需要按照以下步骤进行操作。 检查是否有mysql残留 在安装MySQL之前,需要检查服务器是否已经安装了mysql。...

    mysql连接包mysql-connector-java-5.1.27.jar

    `mysql-connector-java-5.1.27.jar`是这个驱动的一个特定版本,它允许Java开发者在他们的应用中无缝地访问和操作MySQL数据库。 MySQL连接器(JDBC驱动)是Java Database Connectivity (JDBC)的一部分,JDBC是Java ...

    国大科技的MySQL-DBA面试题

    下面,我们将深入探讨“国大科技”的MySQL-DBA面试可能会涉及的知识点。 1. **MySQL基础知识**: - 数据库引擎:InnoDB、MyISAM、Memory等的区别与应用场景。 - SQL语言:DML(INSERT、UPDATE、DELETE)、DDL...

    mysql常用命令集锦--初级DBA

    MySQL常用命令集锦--初级DBA MySQL是当前最流行的开源关系数据库管理系统,本文将总结一些常用的MySQL命令,适合初级DBA学习和工作。 一、MySQL服务的启动和停止 MySQL服务的启动和停止命令如下: * ...

    MYSQL-DBA的课程大纲

    MySQL DBA课程大纲旨在为学员提供全面的MySQL数据库管理员(DBA)知识和技能,涵盖从基础的SQL语句学习到高级的数据库管理和优化。以下是课程的详细内容概览: 1. **MySQL数据库入门**: - 介绍MySQL的历史、发展和...

    mysql-connector-java-5.1.48.zip

    `mysql-connector-java-5.1.48.zip`文件包含的是MySQL Connector/J的一个特定版本——5.1.48,这是一个常用的版本,适用于很多项目。在学习和使用Java开发数据库相关应用时,这个驱动包是必不可少的。 首先,我们...

    mysql-connector-j-8.0.33.zip

    总的来说,"mysql-connector-j-8.0.33.zip"是Java开发者连接和操作MySQL数据库不可或缺的工具,它的使用大大简化了数据库集成的过程,使得Java应用可以无缝地与MySQL服务交互。通过了解这个驱动的工作原理和正确使用...

    mysql-connector-odbc-8.0.33-win32

    常用的odbc连接mysql数据库的驱动mysql-connector-odbc-8.0.33-win32 32位版本,支持VB ,VC等开发平台

    mysql-5.7操作手册(中文版).pdf

    MySQL 5.7 操作手册中文版 MySQL 5.7 是一个功能强大且广泛使用的关系数据库管理系统。该手册提供了 MySQL 5.7 的详细使用指南,涵盖了安装、配置、管理、优化等方面的内容。 安装和升级 MySQL MySQL 5.7 提供了...

    MySQL-connector-java-8.0.28

    MySQL-connector-java-8.0.28 是MySQL数据库与Java应用程序之间通信的重要组件,它是一个JDBC(Java Database Connectivity)驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。在这个版本中,...

    mysql-connector-java-5.1.7 jar包

    MySQL是世界上最流行的开源关系型数据库管理系统之一,而`mysql-connector-java-5.1.7.jar`是MySQL官方为了使得Java应用程序能够连接到MySQL数据库而提供的JDBC(Java Database Connectivity)驱动程序。JDBC是Java...

Global site tag (gtag.js) - Google Analytics