mysql使用中遇到的问题及解决办法

一、 MySQL免安装版配置方法

1. 下载MySQL

2. 解压MySQL压缩包

    将下载的MySQL压缩包解压到自定义目录下,我的解压目录是:    "D:\Program Files\mysql-5.6.24-win32"


3. 配置my.ini文件

将解压目录下默认文件 my-default.ini 拷贝一份,改名 my.ini

    复制下面的配置信息到 my.ini 并保存

 【如果没有my-default.ini,可自己新建my.ini】


[client]
     port=3306
     default-character-set=utf8
     [mysqld]
     port=3306
     character_set_server=utf8
     basedir=D:\Program Files\mysql-5.6.24-win32\data\mysql
     #解压目录
     datadir=D:\Program Files\mysql-5.6.24-win32\data\mysql\data
     #解压目录下data目录
     sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
     [WinMySQLAdmin]
     D:\Program Files\mysql-5.6.24-win32\data\mysql\bin\mysqld.exe

4. 添加环境变量

    1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量


      点击系统变量下的新建按钮


      输入变量名:MYSQL_HOME


      输入变量值: D:\Program Files\mysql-5.6.24-win32【即mysql的解压目录】


    2)选择系统变量中的Path


      点击编辑按钮


      在变量值中添加变量值:%MYSQL_HOME%\bin


      注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值



5.将mysql注册为windows系统服务

这一步很重要!如果没有将mysql注册为windows系统服务,运行mysql.exe的时候会闪退....

同样,如果卸载mysql时如果没有使用mysqld remove移除mysql服务,会给后面重新安装mysql带来不必要的麻烦!!



    1)从控制台进入到MySQL解压目录下的 bin 目录下:


    2)输入服务安装命令:


    mysqld install MySQL --defaults-file="D:\Program Files\mysql-5.6.24-win32\my.ini"【即解压目录下修改的my.ini文件】


    安装成功后会提示服务安装成功。



    #注:my.ini文件放在MySQL解压后的根目录下


    #注:如果要卸载或者删除MySQL,请先在cmd界面使用以下语句移除MySQL服务


    #移除服务命令为:mysqld remove



6. 启动MySQL服务

    方法一:


        启动服务命令为:net start mysql


#关闭服务命令为:net stop mysql


#查看已启动的服务命令为:net start


    方法二:


        打开管理工具 服务,找到MySQL服务。


        通过右键选择启动或者直接点击左边的启动来启动服务。




二、 修改 root 账号的密码


【如果不注意,很有可能导致无法连接mysql而带来一系列麻烦】


1.正常情况下【能够连接到数据库】一般的改密码方法【网上基本给的是5个,】

不要使用update user set password="123456"
 

建议改密码时最好使用以下语句(将密码还原为 root 的 HASH 值??百度到的,感觉意思不明确?):

 UPDATE uesr SET password= 
PASSWORD('YES') where  

 user='root' AND host='localhost'; 



    #注:刚安装完成时root账号默认密码为空,此时可以将密码修改为指定的密码。如:123456 

     c:>mysql –uroot 

     mysql>show databases; 

     mysql>use mysql; 

     mysql>UPDATE user SET password=PASSWORD("123456") WHERE user='root'; 

     #注意!!!密码修改之后一定要使用下面这句来更新账户  

    #的状态,不然可能会导致密码没有更改的错觉!!--新密码不可用, 

    #可是mysql数据库中user表的密码已更改!!然后退出数据库之后再也连不上!! 

    mysql>FLUSH PRIVILEGES; 

     mysql>QUIT


###########

MySQL控制台快捷方式建立:


    1)桌面右键->新建->快捷方式->对象位置输入:C:\Windows\System32\cmd.exe


        快捷方式名称自己定义,确定,快捷方式建立成功


    2)右键单击刚才建立的快捷方式->属性->把目标一栏修改成MySQL启动参数: 

C:\Windows\System32\cmd.exe "D:\Program Files\mysql-5.6.24-win32\bin" /k mysql -uroot -p test

        解释:CMD路径 "MySQL路径bin目录" /k mysql -u用户名 -p密码 数据库名


    3)修改完成后点击确定保存,以后可直接双击快捷方式即可连接到MySQL数据库


2.不正常情况【前面说过的改密码之后却再也无法连接数据库】


使用网上给的命令语句:mysqld --skip-grant-tables&


发现行不通。。。后来终于找到问题所在,使用这条语句前,必须先在my.ini文件中的[mysqld]的下面加入两条语句


skip-name-resolve  
skip-grant-tables 


之后再win+R——cmd【管理员身份运行】——net stop mysql——mysqld --skip-grant-tables&——mysql——接下来的步骤就和正常情况一样了。



is marked as crashed and should be repaired


要解决这个问题,可以使用myisamchk工具进行自动修复


具体步骤:cmd——进入mysql安装目录bin文件夹——执行myisamchk -c -r ../data/mysql/user.MYI


这有可能会导致mysql数据库的表user的结构或者数据被清除!!!


简单点的办法是把别人的user表拷过来就好了。


这里再简单介绍下拷贝别人电脑mysql数据库到自己电脑的方法:


别人电脑:打开navicat,连接数据库,选中要copy的数据库或者数据表,右键,选择转储sql文件,最后把这个sql文件拷到你自己的电脑


自己电脑:打开navicat,【如果要拷的是数据表就选中目标数据库】,右键,运行sql文件,选择刚刚拷的sql文件,运行,OK!!!!