您的位置:新葡亰496net > 网络数据库 > 新葡亰496netMySql的安装与使用,详记MySql问题大全

新葡亰496netMySql的安装与使用,详记MySql问题大全

发布时间:2019-07-20 00:00编辑:网络数据库浏览(125)

     系列目录

    系列目录

    最近公司要从SqlServer转到MySql,期间在安装环境和数据迁移的过程中,遇到了一些不大不小问题,比如怎么重置密码、怎么设置大小写敏感等等。

    今天因为毕业设计要用到MySql数据库,所以就准备自己安装一个MySQL数据库,但是因为MySQL Install MSI只有32位,所以最后选择使用Windows (x86, 64-bit), ZIP Archive版的安装使用,下面本人来介绍自己安装MySQL的过程,仅供参考。

    今天因为毕业设计要用到MySql数据库,所以就准备自己安装一个MySQL数据库,但是因为MySQL Install MSI只有32位,所以最后选择使用Windows (x86, 64-bit), ZIP Archive版的安装使用,下面本人来介绍自己安装MySQL的过程,仅供参考。

    一、安装MySql

    一、安装MySql

    这些问题都比较细比较杂,这边解决完可能过几天就忘了,所以专门开了一个专题,就当给自己作为备忘记录吧。

    1. 工欲善必先利其器,所以第一步要去 (x86, 64-bit), ZIP Archive, 新葡亰496net 1**
    2. 下载完成后将其解压到你想要安装的路径下,例如我的解压到D:MySqlmysql-5.7.12-winx64路径下,刚解压完应该是下图这些文件夹:新葡亰496net 2
    3. 这一步就是开始配置的步骤了,如果你的文件后缀名不显示,建议你设置自己的文件后缀显示,因为我们添加配置文件时需要用到:设置文件后缀显示的步骤:win7选双击"计算机"——>点击导航栏下的"组织"——>选择"文件夹和搜索选择项"——>点击"查看"——>将"隐藏已知文件类型的扩展名"的勾选取消。
    4. 新葡亰496net 3——————>新葡亰496net 4
    5. 新建一个my.ini配置文件,此配置文件将覆盖当前文件夹下的my-default.ini文件,上一步设置显示文件后缀就是为这一步做准备的,打开此配置文件,将如下代码添加到文件中:
    1. 工欲善必先利其器,所以第一步要去 (x86, 64-bit), ZIP Archive, 新葡亰496net 5**
    2. 下载完成后将其解压到你想要安装的路径下,例如我的解压到D:MySqlmysql-5.7.12-winx64路径下,刚解压完应该是下图这些文件夹:新葡亰496net 6
    3. 这一步就是开始配置的步骤了,如果你的文件后缀名不显示,建议你设置自己的文件后缀显示,因为我们添加配置文件时需要用到:设置文件后缀显示的步骤:win7选双击"计算机"——>点击导航栏下的"组织"——>选择"文件夹和搜索选择项"——>点击"查看"——>将"隐藏已知文件类型的扩展名"的勾选取消。
    4. 新葡亰496net 7——————>新葡亰496net 8
    5. 新建一个my.ini配置文件,此配置文件将覆盖当前文件夹下的my-default.ini文件,上一步设置显示文件后缀就是为这一步做准备的,打开此配置文件,将如下代码添加到文件中:

    二、安装并破解Navicat

    二、安装并破解Navicat

    BTW,我的操作系统是Win,MySql版本是8.0.11~

      

      

    三、没有my.in配置文件怎么办

    三、没有my.in配置文件怎么办

     

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    [mysqld]
    #设置3306端口
    port = 3306 
    # 设置mysql的安装目录
    basedir=D:MySqlmysql-5.7.12-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=D:MySqlmysql-5.7.12-winx64data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB 
    
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    [mysqld]
    #设置3306端口
    port = 3306 
    # 设置mysql的安装目录
    basedir=D:MySqlmysql-5.7.12-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=D:MySqlmysql-5.7.12-winx64data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB 
    

    四、设置MySql的大小写敏感

    四、设置MySql的大小写敏感

    系列目录

    • 添加完之后保存,然后再在此路径新建一个空的data文件夹,整个流程建完的格局应为如下图:
    • 新葡亰496net 9
    • 添加完之后保存,然后再在此路径新建一个空的data文件夹,整个流程建完的格局应为如下图:
    • 新葡亰496net 10

    五、重置MySql登陆密码

    五、重置MySql登陆密码

    一、安装MySql

    1. 前期准备已做好,后面是开始安装服务,以管理员身份运行cmd.exe,记住一定要以管理员身份运行,进入安装的bin目录下,最重要最重要的命令在这里,必不可少的,不然安装完服务后无法启动服务,输入mysqld --initialize-insecure --user=mysql命令,然后回车,
    2. 新葡亰496net 11
    3. 然后输入mysqld install安装服务,安装成功会提示安装成功,然后启动MySQL服务就OK了,
    4. 新葡亰496net 12
    5. 配置环境变量——>计算机右键"属性"——>"高级系统设置"——>"环境变量"——>"path"——>将bin目录的路径拷贝到path环境变量下,最好将其拷贝到最前面,然后在后面加个分号就搞定了。
    6. 新葡亰496net 13
    7. 打开MySQL,打开cmd.exe,输入mysql -uroot -p命令,默认是没有密码的,回车进入。如果有的已经设置密码了,所以要输入密码才能进。有密码的话,可以mysql -uroot -p密码,也是可以是mysql -uroot -p 回车输入密码,推荐第二种。
    8. 新葡亰496net 14
    9. 至此MySQL服务就全部安装好了。新手第一次写,不足之处请不吝赐教。
    1. 前期准备已做好,后面是开始安装服务,以管理员身份运行cmd.exe,记住一定要以管理员身份运行,进入安装的bin目录下,最重要最重要的命令在这里,必不可少的,不然安装完服务后无法启动服务,输入mysqld --initialize-insecure --user=mysql命令,然后回车,
    2. 新葡亰496net 15
    3. 然后输入mysqld install安装服务,安装成功会提示安装成功,然后启动MySQL服务就OK了,
    4. 新葡亰496net 16
    5. 配置环境变量——>计算机右键"属性"——>"高级系统设置"——>"环境变量"——>"path"——>将bin目录的路径拷贝到path环境变量下,最好将其拷贝到最前面,然后在后面加个分号就搞定了。
    6. 新葡亰496net 17
    7. 打开MySQL,打开cmd.exe,输入mysql -uroot -p命令,默认是没有密码的,回车进入。如果有的已经设置密码了,所以要输入密码才能进。有密码的话,可以mysql -uroot -p密码,也是可以是mysql -uroot -p 回车输入密码,推荐第二种。
    8. 新葡亰496net 18
    9. 至此MySQL服务就全部安装好了。新手第一次写,不足之处请不吝赐教。


    二、安装并破解Navicat

     

     

    三、设置MySql的大小写敏感

    这一篇可以说是我的踩坑的血泪史了。。。

    之前说过,Windows操作系统中,我们安装Mysql有两个选择:一是下载MSI点击运行,利用windows系统安装程序的方法按部就班的来安装;二是下载ZIP,解压出来就能立即使用。

    四、重置MySql登陆密码

     

    在使用ZIP安装时,安装好之后默认是没有my.ini配置文件的:


    MySql在Windows下默认是大小写不敏感的,当表名中有大写字母的时候,MySql会直接把它转化成小写之后存储。

    新葡亰496net 19

     

     

    当我们想修改数据库的配置信息如 wait_timeout、interactive_timeout、max_connections 或大小写敏感时,却找不到my.ini 配置文件。

      1. 下载

    MySql官方下载地址:

    这里有两种安装方式可以选择:1)下载MSI运行安装;2)下载ZIP解压安装。

    区别是选择MSI会有一个类似普通软件安装的引导程序(一直点击“下一步”安装就行),而ZIP本身就是一个完整的程序,解压之后就可以使用MySql了。

    我这里选择下载的是ZIP。

    新葡亰496net 20

     

    下载完之后,解压。解压好的文件就是MySql程序了,所以我们需要给这个文件重新取一个简单明了的名字,并把它放到你习惯放置秩程序的位置。

    如下图,我把它放到了D盘根目录下面(文件名我改成"MySql"了):

    新葡亰496net 21

     

    如果想要设置大小写敏感,方法网上一搜一大把,整体思路是:

    虽然这时,还可以通过命令行来修改配置信息,但重启mysql后修改会失效,配置会回归默认值,所以这种方式治标不治本。

      2. 配置环境变量

    这里我个人习惯是不配置环境变量的。

    不配置的坏处是,每次cmd运行命令的时候,都需要先cd(切换文件目录)到MySql程序的bin文件夹下面,才可以运行mysql命令。

    如果配置了环境变量之后,那么打开cmd不需要切换到程序目录就可以直接运行mysql命令。

    但是就我个人经历来说,身边太多人自从装了一个软件一个软件之后,就再也找不到它的安装位置。。。

    身为一个程序员能清楚的知道自己开发工具的位置还是很重要的,所以这里就不配置了,每次cmd的时候cd一下,也费不了多少事~

     

     

    这里提供了另一种方法,解决的基本思路是:先删除Mysql服务,然后自己新建一个my.ini文件,最后使用命令行重新初始化mysql服务,同时指定新建的my.ini作为服务默认的配置文件。

      3. CMD命令

    打开cmd界面,(敲黑板)这里是第一个需要注意的地方了,打开cmd的时候一定选择”以管理员身份运行“,不然后面可能会出现一些因为权限而跳出的莫名奇妙的错误。

    新葡亰496net 22

    在MySql的程序目录下有一个配置文件叫“my.ini”

    以下是详细步骤:

     3.1 生成data文件

    新葡亰496net 23

      1. 删除MySql服务

    打开cmd(记得”使用管理员身份“打开),如果没有配置环境变量,请cd(切换目录)到mysql程序下的bin文件夹下(详细步骤参见第一章~):

    运行命令:

    D:MySqlbin>sc delete MySql
    

    新葡亰496net 24

    "MySql"为服务名称,你的MysSql服务不一定是这个名称,可以打开电脑的服务窗口查看。

    删除完成之后,最好去电脑的服务窗口看下,如果找不到MySql服务,说明已经已经删除成功。

    如果还能看到MySql服务,可以手动右击选择”停止“,服务停止之后就会自动消失了。

     3.1.1 cmd进入D盘

    命令:

    C:WINDOWSsystem32>d:
    

     切换磁盘不需要cd,直接输入磁盘名加冒号就可以。

    我们只需要用记事本打开它,然后在[mysqld]标记下添加一行代码:

      2. 新建my.ini配置文件

    在mysql程序的根目录下,新建一个my.ini空白文件,用记事本打开,将以下内容复制进去,保存:

    新葡亰496net 25新葡亰496net 26

    # 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.
    [client]
    default-character-set = utf8mb4
    [mysql]
    default-character-set = utf8mb4
    [mysqld]
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_bin
    init_connect='SET NAMES utf8mb4'
    # 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 = D:MySQL
    datadir = D:MySQLdata
    port = 3306
    # server_id = .....
    # 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 = 16M
    read_rnd_buffer_size = 16M 
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    

    View Code

    新葡亰496net 27

    其中basedir 和 datadir 根据实际MySql安装的位置进行修改。

     3.1.2 进入MySql程序的bin文件夹下

    命令:

    D:>cd .MySqlbin
    

    根据自己的安装位置而定。

    命令:

    D:MySqlbin>mysqld --initialize-insecure --user=mysql
    

    该命令需要执行大概半分钟左右,完成后会在MySql程序文件夹下生成名称为data的文件夹:

    新葡亰496net 28

    新葡亰496net 29

     

    lower_case_table_names = 0
    

      3. 重新生成data文件

    删除之前生成的data文件,如果有重要的数据表,请先备份好。

    回到cmd,重新生成data文件。运行:

    D:MySqlbin>mysqld --initialize-insecure --user=mysql
    

    该命令需要执行大概一分钟左右,完成后会在MySql程序文件夹下重新生成名称为data的文件夹:

    新葡亰496net 30

    新葡亰496net 31

     

     3.2 安装mysql服务

    命令:

    D:MySqlbin>mysqld -install
    

    新葡亰496net 32

    如果提示安装成功,这是打开电脑的”服务“窗口,可以找到新添加的mysql服务:

    新葡亰496net 33

     

    BTW:这里初始化生成data文件和安装服务,都没有使用配置文件(my.ini),对安装完全没有影响。如果有需要使用my.ini文件进行自定义配置的,可以移步下一章”三、没有my.ini配置文件怎么办“~

     

     4. 重新安装mysql服务,同时绑定my.ini配置文件

    安装MySql服务,同时设置绑定my.ini配置文件。命令:

    D:MySqlbin>mysqld --install "MySql80" --defaults-file="d:/mysql/my.ini"
    

    “MySql80”是服务名称,80表示8.0版本,当然,也可以自己取别的名字。

    新葡亰496net,”..my.ini“是新建的配置文件的位置,也可以写成绝对路径”D:MySqlmy.ini“。

    新葡亰496net 34

    如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql80服务:

    新葡亰496net 35

     

     3.3 启动服务

    这里有两种启动服务的方式:1)服务窗口启动;2)cmd启动

    保存之后重启MySql服务就可以了。

     5. 启动服务

    这里有两种启动服务的方式:1)服务窗口启动;2)cmd启动

     3.3.1 服务窗口启动

    直接右击服务项,选择启动:

    新葡亰496net 36

     

     

     5.1 服务窗口启动

    直接右击服务项,选择启动:

    新葡亰496net 37

     

     3.3.2 cmd命令启动

    命令:

    D:MySqlbin>net start mysql
    

    等待20秒左右:

    新葡亰496net 38

    到此,MySql已经安装好了。

    下面要为用户设置密码。

    思路很清晰,步骤看着也很简单,但是这里面遍布的大大小小无数的坑。。。下面我就来挨个踩踩填填~

     5.2 cmd命令启动

    命令:

    D:MySqlbin>net start mysql80
    

    等待20秒左右,如果启动成功,是这样的:

    新葡亰496net 39

     

    如果不成功:

    新葡亰496net 40

     

    这时可能是my.ini配置文件中的某些配置有问题。你可以修改ini文件内容,然后从头按步骤再试一遍。

     3.4 登陆mysql

    命令:

    D:MySqlbin>mysql -u root -p
    

    这时会让输入密码,如果和我一样是第一次装,那么这里的密码为空,不需要填写,直接回车:

    新葡亰496net 41

    如果这里没有登陆成功,说明不是第一次安装,请移步下一章”重置MySql密码“~

     

     6. 重新设置密码

    删除了data文件和服务之后,之前的密码就失效了,所以需要重新设置密码。

     3.5 修改root用户密码

    (敲黑板)这是第二个需要注意的地方了,在8.0之后的版本,修改root用户密码的命令是:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
    

     之前的版本是:

    update mysql.user set authentication_string=password("你的密码") where user="root";
    

     我这里安装的是8.0.11,所以是第一个:

    新葡亰496net 42

      坑No.1:MySql程序文件夹下没有my.ini文件

    这里有两种情况,跟安装MySql的方式有关。

     

    针对Windows系统,MySql官网(

    一种是下载MSI安装,这种安装模式和一般的软件安装程序一样,运行之后系统会有一个引导程序,你只需要一直点击“下一步”就能安装完成;

    另一种是下载ZIP文件安装,这种方式下载解压之后,解压出来的文件就是MySql程序本身,不需要执行安装程序,可以直接使用。

    新葡亰496net 43

    新葡亰496net 44

     

    针对第一种情况,MSI安装,安装之后系统是会自动生成my.ini配置文件的,如果在主程序文件目录找不到,那么可以去你安装MySql的磁盘下的ProgramData文件下找找,一般的默认路径是:

    C:ProgramDataMySQLMySQL Server 8.0my.ini
    

     

    这我很早之前装的版本,位置是这样的:

    新葡亰496net 45

    针对第二种,ZIP安装,这种安装模式是没有my.ini配置文件的。。。需要自己新建一个my.ini文件,然后绑定到MySql服务。

    具体怎么新建怎么绑定,可以参考前一章内容“三、没有my.in配置文件怎么办”,这一章主要讲采坑,细节就不讲了~

     

     6.1 登陆mysql

    命令:

    D:MySqlbin>mysql -u root -p
    

    这时密码为空,不需要填写,直接回车:

    新葡亰496net 46

    如果这里没有登陆成功,请移步下一章”重置MySql密码“~

     3.6 退出MySQL

    命令:

    mysql> exit
    

      坑No.2:到底是0、1还是2

    my.ini下设置大小写敏感的语句是:

    lower_case_table_names = x
    

     

    这里的x到底应该写0还是1还是2?

    网上这三种版本都有,还有说是跟MySql的版本有关的。

     

    其实,0,1,2这三个数字全都是合法的,而且它们所代表的意思都不一样:

    #If set to 0, table names are stored as specified and comparisons are case sensitive.   
    #If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive.   
    #If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases.  
    lower_case_table_names = 2
    

     

    简单说,就是;

    0:存储和比较都是大小写敏感的,比如:新建一张表叫“TestTable”,再建一张表叫“testtable”也是可以的
    
    1:大小写不敏感,新建的时候系统会同意转化成小写
    
    2:存储大小写敏感,但是比较的时候会转化为小写比较,比如:新建一张表叫“TestTable”,显示的时候是大小写都有的,但是当再新建一张“testtable”的时候就会报错,因为比较是统一转换成小写比较的。
    

     

    如果想设置大小写敏感的话,个人建议,尽量不要使用0,而使用2。

    当然,有特殊需求的话,非要使用0也是可以的。

    新葡亰496netMySql的安装与使用,详记MySql问题大全集。 6.2 修改root用户密码

    (敲黑板)这里有个需要注意的地方,在8.0之后的版本,修改root用户密码的命令是:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
    

     之前的版本是:

    update mysql.user set authentication_string=password("你的密码") where user="root";
    

     我这里安装的是8.0.11,所以是第一个:

    新葡亰496net 47

     3.7 使用修改后的密码重新登陆

    这里的命令和之前是一样的,就不写了,密码记得要填刚才设置的:

    新葡亰496net 48

     

    安装配置完成~

      坑No.3:在my.ini添加了大小写敏感之后无法启动MySql服务

    这一个应该是最大的坑了。

    当在my.ini文件下添加“lower_case_table_names = 2”后,重启服务,却显示:

    新葡亰496net 49

     

    或者是这样:

    新葡亰496net 50

     

    然后,把这行设置从my.ini删除之后,就又可以启动服务了。

    明明是按照网上说的步骤一步一步来的,怎么就报错了呢?

     

    最后被逼无奈,只能去翻MySQl的官方文档。

    然后就发现了下面这段话:

    lower_case_table_names can only be configured when initializing the server. 
    Changing the lower_case_table_names setting after the server is initialized is prohibited.
    

     

    意思是大小写敏感只能在安装MySql初始化之前设置,之后是不行的。。。

     

    解决办法是要先删除服务,然后在my.ini文件下编辑好大小写敏感设置,编辑好之后再去使用这个my.ini文件安装初始化MySql(详细步骤在前一章“三、没有my.in配置文件怎么办”)

     

    最后,终于设置成功:

    新葡亰496net 51

     

    BTW,可能是因为MySql版本不同原因,我的另一台电脑在my.ini下添加了大小写敏感之后,重启服务竟然直接成功了,然直接成功,直接成功了,接成功了,成功了,功了,了。。。

    新葡亰496net 52

     

    唉踩坑踩的太累,已然没有心情再去关注到底哪个版本需要哪个版本不需要。。。

    先这样吧,希望看到这篇文章的人以我为鉴,不要再像我一样被坑了~

     6.3 退出MySQL

    命令:

    mysql> exit
    

      6.4 使用修改后的密码重新登陆

    这里的命令和之前是一样的,就不写了,密码记得要填刚才设置的:

    新葡亰496net 53

    新葡亰496netMySql的安装与使用,详记MySql问题大全集。 

     

    现在已经成功绑定了my.ini配置文件了,如果需要自定义配置,可以打开文件进行相应的配置设置,修改后重启服务即可。

    如果修改后,重启服务报错,如下图:

    新葡亰496net 54

     

    有一种可能:你修改的配置与服务初始化时的配置有冲突,这时只能从头开始,在初始化的时候绑定my.ini文件 。

    下一章要讲的的“设置MySql大小写敏感”就是~

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496netMySql的安装与使用,详记MySql问题大全

    关键词:

上一篇:新葡亰496net:始建游标,基础知识梳理

下一篇:没有了