`
ileson
  • 浏览: 213506 次
  • 性别: Icon_minigender_1
  • 来自: 河南省
社区版块
存档分类
最新评论

MySql 使用总结

阅读更多
一、乱码!!!!!!!
MySql中文乱码 搞了一上午,终于好了,记录一下!

    情况说明:自己手贱在网上找了个shell 在服务器上执行了一下,本来想把免费安装的mysql5.0注册到windows 系统服务里,结果 我发现原来安装的 这个mysql 已经 注册过了,接下来悲剧发生了,我怎么启动服务都不行了。报:1067  说进程意外终止,在任务管理器中看了一下确实 mysqld进程启动不起来。然后在网上海搜各种方法,结果都无功而返。更可怕的是,这时候,数据库表部分损坏了(至今不知道为什么)。还好我有之前的备份。在这里提醒大家:数据库操作之前一定要记得备份,否则就收拾东西走人吧。
    好吧,数据库不能用了,删除之,重新解压一下免安装版本的。然后用那个shell执行一下,发现不能注册到系统服务里。想其它办法,最后还是在原来那个noinstall版本里找到了解决办法:在mysql 目录里放三个文件my.ini、MyFile.class、启动MySql服务.bat(这三个文件在附件中)。相信看到第二个文件大家就能猜到了,要安装 JDK 。注:这个方法不一定适用大部分机器。除了MyFile.class逐个用notepad打开看一下,你就明白怎么会事了。其实MyFile.class你也可以反编译一下,也就明白了。双击“启动MySql服务.bat”把MySql5.0 免安装版注册到windows系统服务里去。
  啰嗦了半天,乱码来了。我把备份导入现在的mysql中,发现中文乱码。
查看库的编码方式  命令行登陆MySql
   
mysql> show variables like '%character%';
+--------------------------+---------------------------------------+
| Variable_name            | Value                                 |
+--------------------------+---------------------------------------+
| character_set_client     | latin1                                |
| character_set_connection | latin1                                |
| character_set_database   | latin1                                |
| character_set_filesystem | binary                                |
| character_set_results    | latin1                                |
| character_set_server     | latin1                                |
| character_set_system     | utf8                                  |
| character_sets_dir       | D:\mysql-5.0.22-win32\share\charsets\ |
+--------------------------+---------------------------------------+
8 rows in set (0.00 sec)

看到了吧(具体什么意思自己在网上找吧)。,这些编码让人头疼啊。根据实际项目情况修改掉他们吧。
1、my.ini中配置
  
 [mysql]
    default-character-set=gbk
[mysqld]
    character-set-server=gbk

2、MySql>set names 'GBK'
(这条命令会同时修改character_set_client,character_set_connection,character_set_results) 
3、重启mysql

---------------------------------------------------------------------
    总结:1、修改数据库前要备份
        2、遇到问题不要着急着在网上搜到所谓的解决 办法就直接在服务器上动刀,找一台测试机器,在上面模拟解决 办法。

二、常见错误
    1、[ERROR] MySQL: Table 'XXX' is marked as crashed and should be repaired
引用

出现表损坏的根本原因是:你的表使用了myisam存储引擎。
myisam存储引擎主要用于select,如果用于insert,update,delete由于内部缺陷和异常数据访问经常造成索引文件损坏,注意是“经常”。

因此解决办法有二:
1.用myisamchk工具修复。一旦文件损坏只能暂停web访问,用myisamchk工具修复后可恢复正常。(暂时性,不能解决根本问题)
①首先将mysql \bin 设置到path中去(为了解决执行命令时报找不到路径)  然后输入以下命令
  myisamchk -c -r /path/*.MYI  --修复路径下所有MYI文件(也可以指定某个文件),如果报错, 加个 -r 强制修复

2.把表转换为innodb存储引擎。对用户来说是透明的,对程序逻辑不受任何影响,永久解决索引文件损坏的问题。
  可通过以下语句把存储引擎转换为innodb。:
alter table tablename engine=innodb;


    2、[ERROR] 1067
      问题描述:重新安新mysql5.5.17时,在配置到最后时,无法start service
      解决思路:看my.ini 配置文件,找到datadir 路径,看xxx.err文件.根据提示,作相应处理。
http://www.54xue.com/w/36/n-31036.html

3、[ERROR] 1130 : Host '192.168.1.54' is not allowed to connect to this MySQL server

这段英文,有点误导人,让人感觉是客户端这边出了问题,其实是服务器那边的问题。解决办法有好几种,这里用改表法处理。更改"mysql" 数据库里的 "user" 表里的 "host"项,从"localhost"改称"%"
#>mysql -uroot -p  //登录mysql
mysql> show databases;
mysql>use mysql;
mysql>select host,user from user;
mysql>update user set host = '%' where user ='root'; --更改 
mysql>flush privileges;   #刷新一下权限


4、mysql 本地不能登陆,但远程可以登陆!
   原因:mysql 库的user 表中,有一个host叫localhost 的用户,没有设置用户名和密码.
   远程登陆后,找mysql 库,找到user 表,打开设置一下host 为localhost 的用户名和密码。权限也设置一下,然后刷新权限,重启mysqld 服务。

5、[Err] #1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
  某表中字段有多于一个类型为timestamp 时,一个指定时间,另外的其它该类型字段不要设置current_timestamp 否则就会报这个错误。引用文章


三、性能优化(血泪之旅)
    1、centos6.5 rpm 安装的 mysql5.6.19 初始内存过大的问题(初始内存在400M以上),小内存玩家吃不消的。
    /etc/my.cnf 配置文件修改一下配置:
   
     #一定要在这个服务器端下面配置(否则不会生效),说多了都是眼泪!
     [mysqld]  
     performance_schema_max_table_instances=600 
     table_definition_cache=400
     table_open_cache=256
    

   然后重启mysql 服务!



参考:1、mysql 性能优化方向
      2、参数说明
分享到:
评论
1 楼 ileson 2014-07-28  
windows mysql服务问题很奇怪,有可能建议大家迁移到linux下。

相关推荐

    Mysql相关使用总结

    ### MySQL 使用总结 #### MySQL 目录结构及配置选项 MySQL 的安装目录通常包含了几个重要的子目录: - **bin**:存储 MySQL 可执行文件,例如 `mysqld` 和 `mysql`。 - **data**:存储 MySQL 数据库的数据文件。 ...

    mySql使用方法经验总结

    根据提供的文件信息,本文将对MySQL的使用方法进行详细的总结与解释,旨在为读者提供一套实用的操作指南。MySQL是一款广泛使用的开源关系型数据库管理系统,在Web应用程序、数据仓库、数据分析等领域有着广泛的应用...

    MySQL 基础知识的总结

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)进行数据操作。本文将深入探讨MySQL的基础知识,包括安装、数据类型、表的创建、查询语句、索引以及事务处理等核心概念。 1....

    Centos6.7系统安装MySQL5.7总结

    Centos6.7系统安装MySQL5.7总结 本资源总结了在Centos6.7系统中安装MySQL5.7的步骤,包括下载和安装MySQL软件包,创建数据库仓库目录,新建MySQL用户和组,修改目录属有者,配置参数,修改系统配置文件,启动MySQL...

    mysql命令简单总结

    ### MySQL命令简单总结 本文将基于提供的部分内容对MySQL的一些常用命令进行详细解释,这些命令涵盖了启动、重启、关闭MySQL服务,以及登录、设置密码、权限管理等基础操作,并且包括了数据库与表的基本管理(创建...

    网易技术部MySQL资料总结.pdf

    标题为“网易技术部MySQL资料总结.pdf”,说明文档是网易技术部关于MySQL数据库的技术总结,内容按照开发篇和优化篇两个部分进行分类,覆盖面从基础使用到性能优化等多方面知识。 在描述中提到文档具有很高的参考...

    Mysql基础总结思维导图

    本总结将深入探讨MySQL的基础知识,包括安装与配置、数据类型、表的创建与管理、SQL查询语言、索引与性能优化等方面,旨在帮助读者巩固对MySQL的理解。 一、安装与配置 在开始使用MySQL之前,需要先完成安装。对于...

    mysql总结xmind版

    关于mysql知识点的xmind总结,包含mysql的基础介绍,普通用法以及高级用法

    mysql使用基本操作

    MySQL 使用基本操作 MySQL 是一个开源的关系数据库管理系统,广泛应用于各种 Web 应用程序中。连接 MySQL 数据库是对数据库进行基本操作的前提条件。本文将详细介绍如何使用 JSP 连接 MySQL 数据库,并进行基本的 ...

    mysql数据库总结

    在这个“mysql数据库总结”中,我们将深入探讨MySQL的关键概念、操作以及最佳实践。 首先,让我们了解MySQL的基础知识。MySQL基于SQL(结构化查询语言),它允许用户通过简单的命令进行数据的查询、更新和管理。当...

    mysql安装问题总结

    mysql安装问题总结 mysql安装问题总结 mysql安装问题总结 mysql安装问题总结 mysql安装问题总结

    MySQL学习总结

    MySQL 使用(安装、登录、设置用户、设置密码等)学习总结

    mysql命令总结.docx

    MYSQL 命令总结 MySQL 是一个流行的关系型数据库管理系统,提供了多种命令来管理和维护数据库。以下是 MySQL 命令的总结,包括连接 MySQL、修改密码、增加新用户、操作技巧和显示命令等。 连接 MySQL 连接 MySQL ...

    MySQL知识总结思维导图

    MySQL知识总结思维导图,压缩包内包含MySQL数据库基础、MySQL库的操作、MySQL表的操作(DDL)、MySQL数据类型、MySQL表的约束、MySQL基本查询(DML)、MySQL内置函数、MySQL复合查询、MySQL内外连接、MySQL索引特性...

    Oracle到Mysql数据库迁移总结

    Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结

    mysql学习总结

    以下是对MySQL学习的一些关键知识点的总结: 1. **用户名和口令**:MySQL允许的用户名长度最多为16个字符,而Unix系统通常限制用户名为8个字符。在命令行上直接输入口令存在安全隐患,因此应避免。MySQL的身份验证...

    MySQL入门基础知识总结

    以下是对MySQL入门基础知识的详细总结: 一、MySQL安装与配置 1. 安装:在Windows、Linux或Mac OS上,可以通过官方网站下载相应平台的安装包,按照向导进行安装。 2. 配置:安装完成后,需要配置MySQL服务器,包括...

    MySQLDBA运维笔记(总结得特别详细)

    - 登录MySQL可以使用命令行工具,根据单实例或多实例配置不同,需要指定不同的端口或套接字文件。 ### MySQL管理员设置 #### 管理员密码管理 - 管理员root用户的密码设置和修改可以通过命令行或SQL语句进行。 - ...

    MySQL悲观锁总结和实践

    ### MySQL悲观锁总结和实践 #### 一、悲观锁概念详解 悲观锁是一种同步机制,其基本思想是对数据被外界修改持有悲观态度,因此在整个数据处理过程中,将数据处于锁定状态。简而言之,悲观锁认为数据在处理过程中很...

Global site tag (gtag.js) - Google Analytics