欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库-MySQL-5.6.13解压版安装与注意事项

程序员文章站 2022-03-03 15:06:54
...

一、数据库-MySQL-5.6.13安装(附件)

1. 下载MySQL Community Server 5.6.13

2. 解压MySQL压缩包
    将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是:
    "D:\Program Files\MySQL\mysql-5.6.13"
    将解压目录下默认文件 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\mysql-5.6.13(自己的路径)

    #解压目录
    datadir=D:\Program Files\MySQL\mysql-5.6.13\data(自己的路径,必须有data)
    #解压目录下data目录
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    [WinMySQLAdmin]
    D:\Program Files\MySQL\mysql-5.6.13-win32\bin\mysqld.exe
#########################################################


3. 添加环境变量(建议此方法,先写HOME 再设置 Path 若以前装过MySQL 需要删除以前的path  此处愿意出错

    操作如下:
    1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量
      点击系统变量下的新建按钮
      输入变量名:MYSQL_HOME
      输入变量值:D:\Program Files\mysql-5.6.11-winx64
      #即为mysql的自定义解压目录。
    2)选择系统变量中的Path (是追加,不是覆盖)
      点击编辑按钮
      在变量值中添加变量值:%MYSQL_HOME%\bin  (这里是权限,必须从bin进入,否则会报错,找不到指定文件
      注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值,


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

    1)从控制台进入到MySQL解压目录下的 bin 目录下:
    2)输入服务安装命令:
    mysqld install MySQL --defaults-file="D:\Program Files\MySQL\mysql-5.6.13-win32\my.ini"  (自己的安装路径)
    #解压目录下修改的my.ini文件
    安装成功后会提示服务安装成功。
    #注:my.ini文件放在MySQL解压后的根目录下
    #移除服务命令为:mysqld remove


5. 启动MySQL服务

    方法一:
        启动服务命令为:net start mysql
    方法二:
        打开管理工具 服务,找到MySQL服务。
        通过右键选择启动或者直接点击左边的启动来启动服务。


6. 修改 root 账号的密码  (我使用的方法不行,用的另外一种,修改ini 重置密码 后面有讲解)

    刚安装完成时root账号默认密码为空,此时可以将密码修改为指定的密码。如:123456
    c:>mysql –uroot
    mysql>show databases;
    mysql>use mysql;
    mysql>UPDATE user SET password=PASSWORD("123456") WHERE user='root';
    mysql>FLUSH PRIVILEGES;
    mysql>QUIT
 
7. MySQL控制台快捷方式建立:
    1)桌面右键->新建->快捷方式->对象位置输入:C:\Windows\System32\cmd.exe
        快捷方式名称自己定义,确定,快捷方式建立成功
    2)右键单击刚才建立的快捷方式->属性->把目标一栏修改成MySQL启动参数:
        C:\Windows\System32\cmd.exe "D:\Program Files\MySQL\mysql-5.6.13-win32\bin" /k mysql -uroot -p inventory
        解释:CMD路径 "MySQL路径bin目录" /k mysql -u用户名 -p密码 数据库名

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


二、安装中出现问题(各种BUG)

环境:windows7

mysql版本:mysql-5.6.10-win32

如果是默认安装,那么mysql会被安装到目录C:\Program Files\MySQL\MySQL Server 5.6中,特别要注意该目录,下面会说明原因。

一般情况下,安装完mysql后,我们都希望直接可以连接使用,但是实际情况却不一定能这样顺利。安装完成后,直接在CMD中输入命令:


    C:\Windows\system32>mysql -uroot  
    'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。  

这是由于没有配置环境变量导致的,当然也可以先切换到mysql的安装目录再执行命令,不过那不是麻烦么。

首先配置环境变量,把mysql所在目录的bin目录添加到path环境变量中(如何设置环境变量的具体操作省略,可以google一大把)。


配置好环境变量后,该可以连接mysql了吧?试试看mysql -uroot,咦,怎么回事:


    C:\Windows\system32>mysql -uroot  
    ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)  

什么原因?难道是服务没有启动,来启动服务看看:

    C:\Windows\system32>net start mysql  
    服务名无效。  
      
    请键入 NET HELPMSG 2185 以获得更多的帮助。  

居然服务名无效?打开windows服务一看,原来是安装完mysql后根本没有安装mysql服务,需要我们手动安装。

安装mysql的服务很“简单”,在命令行中输入:


    C:\Users\MikanMu>mysqld --install  
    Install/Remove of the Service Denied!  


咦,怎么回事?这是由于没有权限造成的,需要在启动命令行时以管理员身份运行才行。关闭当前cmd窗口重新以管理员身份运行:

    C:\Windows\system32>mysqld --install  
    Service successfully installed.  

提示成功安装。很好,安装完服务后,启动起来看看:(若以前安装过,看path是否删除以往路径,若没装过,看是否从bin进入)

C:\Windows\system32>net start mysql  
发生系统错误 2。  
  
系统找不到指定的文件。
 

我了个去,这又是怎么回事?上网各种查,都说是需要在mysql配置文件中添加路径:

basedir=C:/Program Files/MySQL/MySQL Server 5.6     
datadir=C:/Program Files/MySQL/MySQL Server 5.6/data


好吧,我试试,mysql-5.6.10-win32默认的配置文件是在C:/Program Files/MySQL/MySQL Server 5.6/my-default.ini,或者自己建立一个my.ini文件,在其中添加配置:

[mysqld]
basedir=C:/Program Files/MySQL/MySQL Server 5.6
datadir=C:/Program Files/MySQL/MySQL Server 5.6/data


注意:1、安装目录下由于权限的原因不能直接建立文件,需要在其他地方建立并添加好相应的配置后,再拷贝到安装目录C:/Program Files/MySQL/MySQL Server 5.6下。

2、网上有的说配置中的目录分隔符必须是正斜杠‘/’,但是经过实验,‘/’、‘\’、‘\\’都没有问题,都是可以的。

3、basedir这个配置是mysql的安装目录,记住,一定是要配置到C:/Program Files/MySQL/MySQL Server 5.6这个目录,不能到C:/Program Files/MySQL就完了。

4、my.ini文件的编码必须是英文编码(如windows中的ANSI),不能是UTF-8或GBK等。

上面操作完成后(一定要注意细节),再来启动一下服务:


    C:\Windows\system32>net start mysql  
    发生系统错误 2。  
      
      
    系统找不到指定的文件。  

怎么还是报这个错?难道不是由于配置的原因?对,不是由于上面的配置的问题,但上面的配置添加后也没有错。那是什么原因?

这里是最需要注意的地方,在安装mysql服务时,一定要切换到mysql安装目录的bin目录下,不管你是否配置环境变量,否则在安装完后启动服务还是会报上面的错误。

切换到bin目录后,先删除前面安装的mysql服务(删除服务不一定要到bin目录),再重新在bin目录下安装mysql服务,然后启动:

C:\Windows\system32>cd ../..  
  
C:\>cd Program Files\MySQL\MySQL Server 5.6\bin  
  
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --remove  
Service successfully removed.  
  
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --install  
Service successfully installed.  
  
C:\Program Files\MySQL\MySQL Server 5.6\bin>net start mysql  
MySQL 服务正在启动 .  
MySQL 服务已经启动成功。 

哇,终于成功了!!

现在来验证一下不需要添加my.ini文件,也是可以正常启动服务的,只要是在bin目录下安装的服务就行。只需要停止mysql服务,把服务删除后,再把mysql安装目录下的my.ini文件删除掉,再重新安装服务,启动mysql服务,看看能不能正常启动即可,实验证明,是可以正常启动的。


    C:\Program Files\MySQL\MySQL Server 5.6\bin>net stop mysql  
    MySQL 服务正在停止.  
    MySQL 服务已成功停止。  
      
    C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --remove  
    Service successfully removed.  
      
    C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --install  
    Service successfully installed.  
      
    C:\Program Files\MySQL\MySQL Server 5.6\bin>net start mysql  
    MySQL 服务正在启动 .  
    MySQL 服务已经启动成功。  


终于大功告成!!!看看能不能连接:


    C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -uroot  
    Welcome to the MySQL monitor.  Commands end with ; or \g.  
    Your MySQL connection id is 3  
    Server version: 5.6.10 MySQL Community Server (GPL)  
      
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.  
      
    Oracle is a registered trademark of Oracle Corporation and/or its  
    affiliates. Other names may be trademarks of their respective  
    owners.  
      
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  
      
    mysql>  

完全没有问题。


另外,mysql默认的root用户是没有设置密码的,我们可以修改root用户密码,方法如下:

1、直接在cmd命令行,不需要进入mysql

mysqladmin -u root password '新密码'  

2、在mysql中,一定要连接到某个数据库

mysql> use mysql  
Database changed  
mysql> update user set password=password('新密码') where user='root';  
Query OK, 3 rows affected (0.00 sec)  
Rows matched: 3  Changed: 3  Warnings: 0  
  
mysql> flush privileges;  
Query OK, 0 rows affected (0.00 sec)


三、密码修改与ERROR 1045

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)

windows下,以上两个错误的解决方法

3.1 找到配置文件my.ini  ,然后将其打开,可以选择用记事本打开

3.2打开后,搜索mysqld关键字

找到后,在mysqld下面添加skip-grant-tables,保存退出。

3.3 保存后重启mySQL  

     指令 cmd下 net stop mysql

     net start mysql

3.4 然后运行cmd

输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。

3.5

1.进入mysql数据库:

mysql> use mysql;Database changed

2.给root用户设置新密码,蓝色部分自己输入:

mysql> update user set password=password("123456") where user="root";

Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0

3.刷新数据库mysql> flush privileges;

                    Query OK, 0 rows affected (0.01 sec)

4.退出mysql:mysql> quit

PS:123456为新密码,用户可根据自己需要修改成自己的密码