• Windows版 mysql 5.7.16安装


    MySQL 5.7版本安装教程-踩坑总结

    下载

    MySQL下载地址
    选择下载64位(看自己电脑是32位还是64位)
    下载

    点击下载之后,它会让你登录,没有Oracle账户,跟着它的步骤注册一个就好了。

    安装

    打开下载好的压缩包解压到你的某一目录下,这里我放到了D:MySQL下

    文件位置

    如上图所示,在你解压的文件夹下是没有my.ini这个配置文件的,需要自己创建并用记事本打开,把下面这些代码粘贴复制进去

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

    我在安装的时候,找了一个教程,教程中上面的#datadir=D:MySQLmysql-5.7.16-winx64data这句代码是没有注释掉的,于是我就在之后的安装中遇到了麻烦。

    填坑

    首先配置默认文件

    当我没有注释掉那句代码时,也就是这样子配置的

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

    接下来开始安装

    安装并启动

    直接搜cmd,右键->以管理员身份运行
    进入bin文件目录下

    接下来输入安装、启动命令

    mysql install
    net start mysql

    出现如下图问题

    无法启动却无报错,在计算机管理服务里也无法手动启动。有大神说可以执行

    mysqld --console

    命令查看错误信息,如下图,意思是说没有data文件,而在my.ini配置文件中代码里设置了(datadir=D:MySQLmysql-5.7.16-winx64data)

    所以我就自己跑去新建了个data文件夹,再启动然而依旧错误漫天飞,Excuse me?
    最后终于找到靠谱的答案,data文件是不需要自己配置的,先删除自己自作聪明的data文件,然后注释掉my.ini中的datadir代码,配置环境变量然后执行

    mysqld --initialize

    即可自动生成data文件,这个时候再执行

    net start mysql

    命令,可以看到MySQL启动成功

    登录MySQL

    输入命令 mysql -uroot -p 回车,输入密码,按理说初次登录是没有密码的,直接回车即可登录,然而事实上,在执行 mysqld --initialize命令时它不仅自动创建了data数据,还随机分配了密码,在你的文件中搜索 .err后缀的文件,以记事本方式打开,你会看到下图

    对,这就是你的密码,每个人不一样,看你自己的,输入进去登录就可以了。接下来你想进行一些操作,发现它会提示你,需要先重置密码。那么接下来再看重置密码的坑。

    重置密码

    在网上查找方法,基本上都是如下步骤:

    然而我输入命令结果是这样子的

    正确的打开方式是首先在my.ini配置文件的[mysqld]下面加上

    [mysqld]
    explicit_defaults_for_timestamp = true

    然后输入如下命令,回车后会一直停止,然后打开另一个cmd命令窗口

    mysqld --default-file="D:MySQLmysql-5.7.16-winx64my.ini" --skip-grant-tables

    mysql -u root

    输入更改密码的语句

    use mysql
    UPDATE mysql.user SET password=PASSWORD("lyymysql") WHERE User='root';

    然而结果如图

    所以查看数据库,发现5.7版本里的user表里已经没有了password这个字段

    正确姿势:

    update mysql.user set authentication_string=PASSWORD('lyymysql') WHERE User='root';
    flush privileges
    exit

    吁~这下终于可以启动登录MySQL 了

    这一上午踩坑踩得真呀么欢快~

    小提示:以上命令中的路径都要改为自己的路径,要不然是不对的。如果有什么疑问可以在下方评论。
    

     方式二: mysql-5.7.16-winx64配置

    1,将my-default.ini文件拷贝一份修改名称为my.ini ---> 打开my.ini文件

            修改内容[mysqld]下面的内容(我解压在D盘mysql5.7.16文件夹下,并在该文件夹下创建data文件夹)

                 # basedir = "D:MySQL5.7.16"
                 # datadir = "D:MySQL5.7.16data"
                 # port = 3306
                 # server_id = 10

    2,配置环境变量: MYSQL_HOME   值: D:MySQL5.7.16

           配置PATH: %MYSQL_HOME%in

    3,以管理员身份进入dos命令(右键system32下cmd选管理员方式,否则会报错)进入MySQL的bin目录(cd D:MySQL5.7.16in)

           cmd: mysqld --initialize --user=mysql --console  (初始化,生成root的初始密码,最后一行的root@localhost: 后的就是)

    4 , cmd: mysqld --install MYSQL  (安装mysql服务)(移除是: mysqld remove)

    5 , cmd: net start mysql  (启动mysql服务)(停止是: net stop mysql)

    6 , cmd: mysql -uroot -p  然后Enter键,输入第3步获取到的初始密码,Enter进入mysql控制台

    7 , cmd: alter user 'root'@'localhost' identified by 'root';

    8,切换到mysql数据库:use mysql 

         然后执行修改root密码的mysql指令update user set authentication_string = password("你的密码") where user = "root"; 

        修改完整密码之后刷新: flush privileges;

    9,如上,mysql安装完毕,可以使用了

  • 相关阅读:
    Angular的执行顺序
    小程序地理位置授权,以及无法打开授权弹框的解决办法
    当需要对一个集合遍历删除元素的时候,都应该倒着删
    .net core部署在CentOS上时关于使用GDI报错的问题
    FactoryMethod(工厂方法模式)
    SimpleFactory(简单工厂模式)
    .net core3.1中swagger的使用
    使用HtmlAgilityPack开发爬虫筛选HTML时,关于xpath的坑
    在centos7.x环境中SQL Server附加数据库
    centos7.x中安装SQL Server
  • 原文地址:https://www.cnblogs.com/xmanblue/p/6146933.html
Copyright © 2020-2023  润新知