MySQL安装完全攻略+各种踩坑



  • 前言

    放了十天假,电脑扔到寝室里一碰没碰,回来开工发现数据库启动不了了???

    尝试了许多办法最终宣告无果(还好我数据库没什么有用的信息,反正是开发用的本地数据库,重要用户信息都放在服务器里面了)
    于是我又又又又踏上了重装mysql的旅程,装了无数遍了,每次装都还要谷歌,sb一样,这次干脆记下来,以防以后再用
    之前装的mysql8在开发过程中遇到了各种各样的sb兼容性问题,大概是数据库版本太新,框架太老不匹配了,反正我是懒的修。

    没有什么是重装解决不了的,如果不行,就重装系统

    总之这次先卸载了电脑里无数次安装失败或者成功的各种版本的mysql。
    熟练得让人心疼
    卸载步骤:
    任务管理器 ---> 服务 ---->mysql---->停止运行
    控制面板 ----> 写在程序 ---->mysql ----->卸载
    ok
    进入mysql官网:https://dev.mysql.com/downloads/mysql/5.7.html

    下载这两个

    请不要下载安装包

    不要下载它(除非你知道它是怎么用的)

    下载之后解压到你想放的位置
    我放在了F:\database\mysql-5.7.27-winx64
    解压成功之后我们在F:\database\mysql-5.7.27-winx64目录下创建一个记事本
    修改名字为my.ini

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

    其中
    basedir=F:\database\mysql-5.7.27-winx64
    datadir=F:\database\mysql-5.7.27-winx64\data
    这两个字段根据你安装的位置进行变通,其他的完全复制即可
    配置完之后保存
    以管理员身份启动cmd 以防万一
    cd 到F:\database\mysql-5.7.27-winx64\bin 中

    输入mysqld install
    ###问题一
    cmd返回
    The service already exists! The current server installed:'一个文件目录'
    如果你之前装过mysql 并且没有把他删干净,这时候你可以进入上面提示的文件目录,把这个目录删除,再次mysqld install 发现仍然会报出同样的错误
    以管理员身份运行cmd
    输入sc query mysql
    image.png
    发现确实安装过
    再输入命令
    sc delete mysql 删除该mysql
    回到F:\database\mysql-5.7.27-winx64\bin中
    输入mysqld install
    返回 Service successfully installed
    mysqld安装成功
    这时候你会迫不及待得启动mysql了
    net start mysql
    于是你遇到了

    问题二

    问题二

    这个问题的来源原因大概是
    my.ini配置中的这个字段
    datadir=F:\database\mysql-5.7.27-winx64\data
    我们在bin中敲入 mysqld -console
    等待几秒会发现
    会发现
    image.png
    console的报错是,找不到这玩意F:\database\mysql-5.7.27-winx64\data
    这时候我们进入目录发现,确实没有data文件夹,那好,既然没有我们手动建立一个data文件夹吧
    那么恭喜你
    我们进入了

    问题三

    建立之后,我们再次net start mysql 还是发生了同样的问题
    而且这次 mysqld -console也不会返回任何内容了,因为确实已经有了data文件夹了
    然鹅
    mysql的data文件夹是你瞎jb建一个就能用的吗???
    下面删除data文件夹
    然后回到F:\database\mysql-5.7.27-winx64\bin
    执行
    mysqld --initialize-insecure
    这个命令会在mysql根目录F:\database\mysql-5.7.27-winx64\下建立data文件夹
    再次执行
    net start mysql
    应该就成功了
    输入mysql -uroot -p 回车
    密码不用输入,直接回车(刚装好的mysql默认没有密码)
    输入use mysql
    进入mysql数据库,准备修改密码
    输入
    update user set authentication_string = password('你的密码'), password_expired = 'N', password_last_changed = now() where user = 'root';
    image.png
    密码更改后 要用
    FLUSH PRIVILEGES;
    命令才能完成修改 不然下次还是没有修改

    mysql> quit 
    mysqld restart 
    mysql -u root -p 
    Enter password: <输入你设置的密码> 
    mysql>
    

    重新登录一次,输入修改后的密码,成功登录,设置完成

    每次进入cmd 都要先F:
    再cd F:\database\mysql-5.7.27-winx64\bin
    是不是很麻烦?
    想不想把这个路径添加到系统环境变量中,这样我不论在个目录中,只要输入mysql 就可以默认进入F:\database\mysql-5.7.27-winx64\bin中呢?
    很简单
    image.png
    右键我的电脑--->属性 ----> 高级系统设置 ----> 高级 -->环境变量

    image.png

    image.png

    双击Path,新建一个路径,输入F:\database\mysql-5.7.27-winx64\bin
    image.png
    效果如图,确定,添加完成
    这样在命令行任何文件目录下都可以通过mysql命令直接进入了!
    image.png

    这样,一个纯净的数据库就安装并且配置好了


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待