mysql 5.7.15 安装配置方法图文教程

    xiaoxiao2021-03-26  37

    因本人需要需要安装MySQL,现将安装过程记录如下,在自己记录的同时,希望对有疑问的人有所帮助。

    一、下载软件

    1. 进入mysql官网,登陆自己的Oracle账号(没有账号的自己注册一个),下载Mysql-5.7.15,下载地址:http://dev.mysql.com/downloads/mysql/

    2.将下载好的文件解压到指定目录,笔者解压在D:\mysql-5.7.15-winx64

    二、 安装过程

    1.首先配置环境变量path,将D:\mysql-5.7.15-winx64\bin配置到自己的path中,具体再次不详述

    2.在解压路径下复制my-default.ini,修改名称为my.ini如下图所示

    3.打开文件my.ini,添加内容如下:

    [plain] view plain copy

    1.  [mysqld]  

    2.  basedir=D:\\mysql-5.7.15-winx64  

    3.  datadir=D:\\mysql-5.7.15-winx64\\data  

    4.  port=3306  

    [plain] view plain copy

    1.  sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"   

    2.  <span style="font-family:Arial;BACKGROUND-COLOR: #ffffff"></span>  

    其中basedir:是上述mysql的解压路径 datadir:后续初始化等数据都会保存在该目录下(注意:不要在该文件目录下新建data文件夹,我的新建data文件夹就会出错,按我的操作步骤,后续操作会自动创建的。) port:表示连接数据库的端口 sql_mode:表示sql的模式 三、初始化数据库  配置相关信息 1.以管理员身份运行windows命令行(特别提醒:WIN7WIN7以上版本系统这里一定要用管理员身份,不然后续操作会出错) 2. 进入mysql的解压缩目录D:\mysql-5.7.15-winx64\bin(提醒:此处需要进入bin目录,否则后续操作会出现错误) 3.输入:mysqld--initialize --user=mysql --console,执行后进行初始化,此时会生成root的初始密码 记下此时生成的初始化密码。 4.注册Mysql服务。运行命令:mysqld--install MySQL 如果出现:"Service successfully installed.“ 提示,证明成功安装mysql服务. 5.此时,可以起动mysql服务,netstart mysql 用户可能会出现如下错误: 发生系统错误 2. 系统找不到指定文件。 错误原因:如上所述,在运行安装service命令:mysqld--install MySQL时,我们没有进入bin目录,进行安装。                        解决方案:进入bin目录,首先移除service,运行命令mysqld --remove Service successfully removed 重新安装mysql服务,运行命令mysqld--install ,再启动mysql服务 D:\mysql-5.7.15-winx64>net start mysql MySQL 服务正在启动 MySQL 服务已启动成功 此时mysql服务已成功起动。

    四、登陆数据库,修改密码

    my.ini文件中在[mysqld]后一行加入skip-grant-tables 此时,关闭mysql服务,再重新启动。 

    (命令行中输入net stop mysql关闭MySQL服务,输入netstart mysql 开启MySQL服务)

    登陆:输入 mysql -u root -p 后回车键,密码为空,不输入,直接回车,即可登录MySQL

    选择mysql数据库:

    查询mysql数据库的user表,select * from user 

    此时,我们发现密码字段的名称为authentication_string。有的可能会是password,根据你查询出来的结果为准。 对表user执行update操作:updateuser set authentication_string = password("123456") whereuser="root"  

    操作成功。退出mysql

    删除my.ini 文件中的skip-grant-tables ,重新启动mysql服务。登录MySQL

    后续有可能出现的问题:

    安装完mysql,登陆以后,不管运行任何命令,总是提示这个:You must reset yourpassword using ALTER USER statement before executing this statement.

    出现此问题时,只需要在命令行mysql下继续运行以下两条命令即可:

    ALTERUSER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;

    flush privileges;

    注意:以上是2条命令,需要分开执行。

    完成以上两条命令,MySQL就安装完整了。

     

     

    解决ERROR 1820 (HY000): You mustSET PASSWORD before executing this statement

    今天在MySql5.6操作时报错:You must SETPASSWORD before executing this statement解决方法,需要的朋友可以参考下

    ERROR 1820 (HY000): You must SET PASSWORD before executingthis statement  非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。  参考官方的一个文档,见http://dev.MySQL.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了:  mysql> create database yan1;  ERROR 1820 (HY000): You must SET PASSWORD before executing this statement  mysql> SET PASSWORD = PASSWORD('123456');  Query OK, 0 rows affected (0.03 sec)  mysql> create database yan1;  Query OK, 1 row affected (0.00 sec)  也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!大爷的,真费劲啊。  这位仁兄也遇到了相同的问题。  最近新装好的mysql在进入mysql工具时,总是有错误提示:  # mysql -u root -p  Enter password:  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)  或者  # mysql -u root -p password 'newpassword'  Enter password:  mysqladmin: connect to server at 'localhost' failed  error: 'Access denied for user 'root'@'localhost' (using password: YES)'  现在终于找到解决方法了。本来准备重装的,现在不必了。  方法操作很简单,如下:  # /etc/init.d/mysql stop  # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  # mysql -u root mysql  mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'and host='root' or host='localhost';//把空的用户密码都修改成非空的密码就行了。  mysql> FLUSH PRIVILEGES;  mysql> quit # /etc/init.d/mysqld restart  # mysql -uroot -p  Enter password: <输入新设的密码newpassword>  MySql5.6操作时报错:You must SETPASSWORD before executing this statement解决  mysql> SET PASSWORD = PASSWORD('123456');  Query OK, 0 rows affected (0.03 sec)  mysql> create database roger;  Query OK, 1 row affected (0.00 sec)  也就是用mysql> SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码!

    转载请注明原文地址: https://ju.6miu.com/read-350310.html

    最新回复(0)