Mysql-5.7.21安装配置

搞开发多年,其实MySql前先后后安装配置了无数次,可是每次都须要到网上搜教程,折腾半天才搞定,此次索性把整个过程所有记录下来,以便之后查阅。python

下载

MySql官网,导航找到DOWNLOADS>>Community>>MySQL Community Server页面,也能够直接点击此处,选择相应的Mysql版本的zip包,我这里是mysql-5.7.21-winx64.zipmysql

安装配置

  1. 下载好压缩包以后直接解压到将要存放的目录;
  2. 在根目录新建my.ini文件(并无所谓的my-default.ini文件),保存为ANSI编码格式,以下图:
  3. my.ini中拷入如下代码:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=D:\\Program Files\\mysql-5.7.21
# 容许最大链接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 建立新表时将使用的默认存储引擎
default-storage-engine=INNODB
  1. D:\Program Files\mysql-5.7.21\bin目录下,按住Shift+右键,选择在此处打开命令窗口sql

  2. 执行命令mysqld --install,这时有可能会出现如下几种错误:数据库

    • Install/Remove of the Service Denied 出现该问题是由于执行命令的权限不够,到C:\Windows\System32目录下找到cmd.exe文件,从新以管理员身份运行打开cmd窗口,而后转到D:\Program Files\mysql-5.7.21\bin目录,再次执行mysqld --install命令。
    • 丢失MSVCR120.dll,MSVCP120.dll

    这个问题提示比较明显,缺乏文件,缺啥补啥,网上方案不少,最简单的办法就是根据缺失的文件安装相应版本的VC++运行库的安装包,由于MSVCR和MSVCP都属于VC++运行库,具体以下:
    msvcp、msvcr、vcomp140.dll属于VC++2015版 msvcp、msvcr、vcomp120.dll属于VC++2013版 msvcp、msvcr、vcomp110.dll属于VC++2012版 msvcp、msvcr、vcomp100.dll属于VC++2010版 msvcp、msvcr、vcomp90.dll属于VC++2008版 msvcp、msvcr60、71和80.dll,以及vcomp.dll(不带数字版本号)属于VC++2005版this

    • Found option without preceding group in config file 出现该错误通常是my.ini文件头部缺乏了[mysql],或者另外一种状况是文件的编码格式不对,将文件编码保存为ANSI便可。
  3. 执行命令mysqld --initialize,此时安装根目录下会自动生成data文件夹(原目录没有该文件夹)。编码

  4. 执行命令net start mysql,启动服务,以下图,证实已经安装成功。 spa

配置帐号密码

但当咱们输入mysql命令时,会出现如下错误。 命令行

实际上咱们并无设置任何密码,解决办法以下:code

  1. 打开MySQL目录下的my.ini文件,在文件的最后添加一行skip-grant-tables,保存并关闭文件。
  2. 重启MySQL服务。
  3. 在命令行中输入mysql -uroot -p(不输入密码),回车便可进入数据库。
  4. 执行SQL语句use mysql;使用mysql数据库。
  5. 执行SQL语句update user set authentication_string=password('123456') where user='root';
  6. 打开MySQL目录下的my.ini文件,删除最后一行的skip-grant-tables,保存并关闭文件。
  7. 重启MySQL服务。

注: 此时若是执行如use mysql等命令,可能会出现 You must reset your password using ALTER USER statement before executing this statement. 的错误,若是出现,则执行如下步骤便可:server

执行命令SET PASSWORD = PASSWORD('123456');; 执行命令ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

开启远程链接

  1. 执行命令MySQL -uroot -p123456
  2. 执行命令use mysql;
  3. 执行命令update user set host = '%' where user = 'root';
  4. 执行命令GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;给予任何主机访问数据的权限。
相关文章
相关标签/搜索