【背景介绍】

    在使用SQL Server数据库期间,想必大家一定都有过解决各种问题的经历了。非常多时候,都会在大家的博客中看到问题与解决方式。

如今开发使用的是MySQL数据库。如今来看,发现自己在MySQL中的经历越来越多。前两天,自己电脑的MySQL数据库出问题了,折腾了我好几个小时~~

    这篇博客就将把之前遇到的和这次遇到的错误记录下来,以后也能够更好更快的找到解决的方法吧。
【常见错误】
  • (1) windows mysql提示:1045 access denied for user'root'@'localhost' using password yes
    由于在解决问题的时候,须要用到my.ini文件,安装完后并没有这个文件。从网上查的是能够自己创建。于是我就自己创建了一个这种文件。内容例如以下:  
    # For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL. [mysqld] # Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin # These are commonly set, remove the # and set as required.
basedir = E:\MySQL\mysql-5.6.24-winx64
datadir = E:\MySQL\mysql-5.6.24-winx64\data
# port = 8099
# server_id = sa # Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
skip-grant-tables
default-character-set=utf8
   这个问题就攻克了。在加上这个文件后。我尝试建立新用户。又出现了一个新的问题。

  • (2) ERROR 1364(HY000):Field 'ssl_cipher' doesn't have a default value 

    我照着博客的内容将my.ini文件里的一句话改了:
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    改动为
    sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    此后,我也成功创建了用户。

    这两个问题攻克了。我在学习网上商城的时候也就一切顺利。

    但前两天,重新启动电脑后,数据库又出现了以下的一系列问题了。
  • (3) 启动MySQL服务,出现错误1067:
    	
    出现这个问题,我採取的办法是方法二,将my.ini文件删除,这样MySQL服务就能够正常启动了。
    但将my.ini文件删除后,一直出现1045的错误,就这样。两个问题好像死循环了,一直都解决不了。无奈之下,卸载了mysql,又一次安装了一次。

    在这里卸载/安装的过程就不说了,以下继续看几个遇到的MySQL的错误:
  • (4) 2003-Can't connect to MySQL server on 'localhost'(10061)
    出现这个错误的原因,是MySQL服务没有启动,可输入service.msc窗体命令。进入到服务管理,将MySQL服务启动即可。或者使用mysql命令启动也能够。



  • (5) Host "localhost" is not allowed to connect to mysql server
    这是在本地都不能登录到MySQL数据库。
    首先,停止mysql服务:sc stop mysql
	
    然后,mysqld --skip-grant-tables
    另开一个终端。继续。mysqlcheck --check-upgrade --all-databases --auto-repair
    再输入mysql。最终提示连接成功了。

	
 本地能够连接成功了。以下别人在远程自己的数据库时,可能又会遇到1045的错误。

  • (6) Access denied for user 'root'@'localhost' (using password:YES)
     解决方法:
       方案一:改表
        use
[databasename];
        select
user,host,password from user;
         update
user set host = '%' where user='root';
       方案二:授权
       GRANT
ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
       FLUSH  
PRIVILEGES;(不论什么主机都能够连接到mysqlserver)
  • (7) 中文乱码问题
     在做ITOO项目的时候,从代码中直接插入记录到数据库中。中文便是乱码了。

第一版思修考试的时候。时间紧张,没有全然解决问题,部分能够导入中文,部分又导入的是乱码。

在接下来的这一版开发中,最终找到了问题的根源。

     乱码缘由:
        不同的编码格式会导致同一字符,在不同字符集下的编码会不同。相同同一编码在不同的字符集中代码的字符也不相同。

当你的MySQL返回的字符串的编码格式(字符集)与你的客户工具程序(mysql,
php, query browser, ...)当前使用的字符集不同一时候,就会造成乱码。

乱码后须要检查的信息:

        1. 数据库表中字段的字符集设置 。
show create table TableName 或 show full columns from tableName
        2. 当前联接系统參数  
show variables like 'char%'
       提示:
            中文。应确保表中该字段的字符集为中文兼容,详细包括下面四种:
big5     | Big5 Traditional Chinese

gb2312   | GB2312 Simplified Chinese

gbk      | GBK Simplified Chinese

utf8     | UTF-8 Unicode

   乱码原因
	
上图是我在检查上面两条信息的结果,非常明显,所连接的数据库设置的字符集为latin1,所以。导入数据的时候就变成乱码了。
   解决方式:
        用Navicat软件打开相应的数据库,将其数据库属性的字符集设置为utf8.
	
【错误总结】
    非常多情况下。都遇到1045的错误,在查资料的过程中,发现普遍的原因有下面两点:
    1.可能是mysql用户表中存在不完整的记录;
    2.可能是没有给mysql用户表中的用户授予权限。
    
    由于mysql数据库不像sql server数据库那样,能够在可视化的界面进行操作,在mysql中,各种操作都是须要通过各种命令去完毕的,以下,就总结一些经常使用的命令。以便提高后期的工作效率。

  • 服务启动与停止
    net stop mysql
    net start mysql
  • 登录mysql
    mysql -r root -p 回车 输入password
  • 显示数据库列表
    show databases;
  • 选择数据库和显示数据表
    use mysql;
    show tables;
  • 建库、删库
    create database dbName;
    drop database dbName;
  • 备份
    mysqldump -u [数据库username] -p [要备份的数据库名称]>[备份文件的保存路径]
  
 样例:mysqldump -u root -p test>E:\tt.sql
  • 还原
    mysql -u root -p<[备份文件的保存路径]


【学习心得】
1.数据库的备份非常重要。由于不知道什么时候,什么原因。自己的数据库就不能用了,等到发生了。懊悔也来不及了。
2.没有什么解决不了的问题。最坏的办法也就是重头再来。

遇到问题了,第一次感觉还好。但遇到了一些没在自己意料之中的问题,遇到了曾经的解决方式不再适用这一次的问题。心情就有些不一样了。最后,我还是自己把数据库给弄好了,事实证明,不要放弃,最坏的办法也就是重头再来。

3.学习是一个漫长的、不断补充、不断积累的过程。实际上,解决中文乱码的问题是后来补充的。由于一直都在使用mysql,一直处在不断学习地过程中,后面的学习或者偶尔的遇见,才使得自己把之前的问题攻克了,所以,学习前后是一个互为补充的阶段。

【MySQL】常见错误与经常使用命令的集锦的更多相关文章

  1. MySQL常见错误类型

    MySQL常见错误类型:1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010: ...

  2. MySQL常见错误及其解决办法

    1.连接类 (1).问题:MySQL server has gone away  解决办法:出现该报错常见的原因是服务器超时了并且关闭了连接.缺省地,如果没有事情发生,服务器在 8个小时后关闭连接.如 ...

  3. MySql: 常见错误

    1.  No query specified 出现此错误是sql不合法原因:比如: mysql> select * from t\G;*************************** 1. ...

  4. mysql常见错误及解决方案

    mysql error 2005 - Unknown MySQL server host 'localhost'(0) 此错误一般为地址信息错误,注意是否有空格. 在连接本地数据库时,最好使用127. ...

  5. MYSQL常见错误及其解决方式

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  6. nodejs操作mysql常见错误

    1.Cannot enqueue Handshake after already enqueuing a Hand shake.这个错误提示意思是某个数据库连接已经执行了,不能进行多次连接了.遇到此类 ...

  7. 安装mysql常见错误解决方法

    Mysql ERROR 1698 (28000) 解决 解决mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exi ...

  8. MySQL常见错误

    1. TokuFT file system space is really low and access is restricted 解决方法:修改tokudb_fs_reserve_percent参 ...

  9. Django连接mysql常见错误

    1045, "Access denied for user 'root'@'localhost' (using password: YES)" 数据库的密码或用户名不对,查看set ...

随机推荐

  1. 学习参考《高性能MySQL(第3版)》中文PDF+英文PDF

    学习mysql数据库时推荐看看mysql 领域的经典之作<高性能mysql(第3版)>,共分为16 章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化 ...

  2. 洛谷——P1965 转圈游戏

    https://www.luogu.org/problem/show?pid=1965 题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n- ...

  3. C++函数指针相关 & 类成员的指针 & 成员函数的指针

    有时候会有指向类成员变量或者成员函数的指针,但是注意,这个指针并不是针对一个地址的指向,而更多的是一个偏移. 同时,支持将父类对象的成员 转为 子类对象的成员指针,如下: 反过来,是不行的.因为父类的 ...

  4. 使用ssh过程中对数据库进行update时报错

    报错信息:org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in ...

  5. P1328 生活大爆炸版石头剪刀布

    题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第8 集中出现了一种石头剪刀布的升级版游戏. 升级版游戏在传统的 ...

  6. [工具] UltraEdit使用技巧汇总

    ltraEdit是一套功能强大的文本编辑器,可以编辑文本.十六进制.ASCII码,可以取代记事本,内建英文单字检查.C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢.说到编 ...

  7. 2008R2域控环境中 应用组策略 实现禁用USB设备使用

    本文介绍如何在Windows Server 2008 AD中禁用客户端USB端口.本文使用的系统:Windows Server 2008 R2 企业版.域功能级别:Windows Server 200 ...

  8. Hexo页面优化和音乐的心得

    灵感 这两天在添加“留言”以及“关于”页面,准备先简单设计一下自已的页面.留言页面可以放置一些自已比较感兴趣的音乐.以及一些JS特效,再集成一个第三方的留言功能.关于页面可以放置一些简单的联系方式.以 ...

  9. 推荐学习《Python与量化投资从基础到实战》PDF及代码+《量化投资以Python为工具》PDF及代码

    利用python分析量化投资问题是现在研究的热点,推荐两份资料用于学习 <Python与量化投资:从基础到实战>主要讲解如何利用Python进行量化投资,包括对数据的获取.整理.分析挖掘. ...

  10. Django_视图操作