mysql官网下载地址:https://dev.mysql.com/downloads/mysql/
新版安装包解压后,没有网上教程里面提到的data文件夹和my-default.ini,如下图所示 2.在下面目录下创建my.ini,内容如下: character_set_server=utf8 #这里网上很多是default-character-set=utf8 ,容易出错 port = 3306 basedir=D:\from20181022\soft\mysql-5.7.24\mysql-5.7.24-winx64 #datadir=D:\MySQL\MySQL Server 5.7.23\data 在这里不需要自己去创建一个空的data文件夹 max_connections=200 character-set-server=utf8 default-storage-engine=INNODB
可以直接复制粘贴,主要修改下basedir后的路径,注意路径中为\而非\
3.进入dos的命令行,用administrator进入 a.进入MySQL的bin目录,输入mysqld –install可以安装MySQL D:\Java\mysql-5.7.35-winx64\bin>mysqld -install Service successfully installed. 或之前已安装过Mysql卸载不干净 D:\Java\mysql-5.7.35-winx64\bin>mysqld -install The service already exists! 查看是否存在 D:\Java\mysql-5.7.35-winx64\bin>sc query mysql SERVICE_NAME: mysql TYPE : 10 WIN32_OWN_PROCESS STATE : 1 STOPPED WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 确认之前已安装过 进行再删除 D:\Java\mysql-5.7.35-winx64\bin>sc delete mysql [SC] DeleteService 成功 即可安装Mysql D:\Java\mysql-5.7.35-winx64\bin>mysqld -install Service successfully installed.
输入mysqld --initialize --user=root --console(,初始化,创建root账户.可直接复制) 运行后 … …到最后一行 [Note] A temporary password is generated for root@localhost: OR5tM511qp_&(这个就是初始密码)
如果没有密码,则 启动MySQL服务 D:\Java\mysql-5.7.35-winx64\bin>net start mysql MySQL 服务正在启动 . MySQL 服务已经启动成功。
进入MySQL的bin目录mysql,输入 D:\Java\mysql-5.7.35-winx64\bin>mysql 报 ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’ (using password: NO) 账号或密码有误
使用新打开的管理员身份下运行的cmd窗口输入以下代码: mysqld --skip-grant-tables 有些同学的mysql安装目录可能不在C盘 需要切换盘符为你装mysql的那个盘 例如我的是D盘 我的文件夹目录为:D:\Java\mysql-5.7.35-winx64 输入 D: 即可切换盘符 “注意:所有的代码都要用英文输入法,不然会出错,切记切记!” 打完回车之后,这个窗口就不会动了,保持这个窗口在后台打开,再在管理员权限下重新开一个新的cmd窗口。
在新窗口下,用上面切换盘符的方法,再把路径调整到你安装mysql的文件夹目录下 下一步,系统会再次跳出 mysql>, 输入use mysql; 此时系统文字回复数据库已经切换至mysql,此时在新一行跳出来的 mysql>,输入 show tables;
按照传统改密码方式发现没有 password这个字段。 mysql> update user set password=password(‘root’) where user=‘root’; ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
查询user表结构 mysql> desc user; ±-----------------------±----------------------------------±-----±----±----------------------±------+ | Field | Type | Null | Key | Default | Extra | ±-----------------------±----------------------------------±-----±----±----------------------±------+ | Host | char(60) | NO | PRI | | | | User | char(32) | NO | PRI | | | | Select_priv | enum(‘N’,‘Y’) | NO | | N | | | Insert_priv | enum(‘N’,‘Y’) | NO | | N | | | Update_priv | enum(‘N’,‘Y’) | NO | | N | | | Delete_priv | enum(‘N’,‘Y’) | NO | | N | | | Create_priv | enum(‘N’,‘Y’) | NO | | N | | | Drop_priv | enum(‘N’,‘Y’) | NO | | N | | | Reload_priv | enum(‘N’,‘Y’) | NO | | N | | | Shutdown_priv | enum(‘N’,‘Y’) | NO | | N | | | Process_priv | enum(‘N’,‘Y’) | NO | | N | | | File_priv | enum(‘N’,‘Y’) | NO | | N | | | Grant_priv | enum(‘N’,‘Y’) | NO | | N | | | References_priv | enum(‘N’,‘Y’) | NO | | N | | | Index_priv | enum(‘N’,‘Y’) | NO | | N | | | Alter_priv | enum(‘N’,‘Y’) | NO | | N | | | Show_db_priv | enum(‘N’,‘Y’) | NO | | N | | | Super_priv | enum(‘N’,‘Y’) | NO | | N | | | Create_tmp_table_priv | enum(‘N’,‘Y’) | NO | | N | | | Lock_tables_priv | enum(‘N’,‘Y’) | NO | | N | | | Execute_priv | enum(‘N’,‘Y’) | NO | | N | | | Repl_slave_priv | enum(‘N’,‘Y’) | NO | | N | | | Repl_client_priv | enum(‘N’,‘Y’) | NO | | N | | | Create_view_priv | enum(‘N’,‘Y’) | NO | | N | | | Show_view_priv | enum(‘N’,‘Y’) | NO | | N | | | Create_routine_priv | enum(‘N’,‘Y’) | NO | | N | | | Alter_routine_priv | enum(‘N’,‘Y’) | NO | | N | | | Create_user_priv | enum(‘N’,‘Y’) | NO | | N | | | Event_priv | enum(‘N’,‘Y’) | NO | | N | | | Trigger_priv | enum(‘N’,‘Y’) | NO | | N | | | Create_tablespace_priv | enum(‘N’,‘Y’) | NO | | N | | | ssl_type | enum(’’,‘ANY’,‘X509’,‘SPECIFIED’) | NO | | | | | ssl_cipher | blob | NO | | NULL | | | x509_issuer | blob | NO | | NULL | | | x509_subject | blob | NO | | NULL | | | max_questions | int(11) unsigned | NO | | 0 | | | max_updates | int(11) unsigned | NO | | 0 | | | max_connections | int(11) unsigned | NO | | 0 | | | max_user_connections | int(11) unsigned | NO | | 0 | | | plugin | char(64) | NO | | mysql_native_password | | | authentication_string | text | YES | | NULL | | | password_expired | enum(‘N’,‘Y’) | NO | | N | | | password_last_changed | timestamp | YES | | NULL | | | password_lifetime | smallint(5) unsigned | YES | | NULL | | | account_locked | enum(‘N’,‘Y’) | NO | | N | | ±-----------------------±----------------------------------±-----±----±----------------------±------+
此时在新一行跳出来的 mysql>,输入 select user,host,authentication_string from user;
网上查了一下据说5.7 版本password 字段改成authentication_string password函数还是原来的password函数 mysql> update user set authentication_string=‘root’ where user=‘root’; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1
想要查一下,密码是否成功修改,可以在新一行跳出来的 mysql>,输入 select user,host,authentication_string from user;
重启mysql
D:\Java\mysql-5.7.35-winx64\bin>net stop mysql MySQL 服务正在停止… MySQL 服务已成功停止。 D:\Java\mysql-5.7.35-winx64\bin>net start mysql MySQL 服务正在启动 . MySQL 服务已经启动成功。
查看show databases;时 此时系统会提示你修改密码,并且必须使用ALTER USER的方式修改,另外,无法执行其他任何语句: mysql> alter user ‘root’@‘localhost’ identified by ‘root’; Query OK, 0 rows affected (0.00 sec)
|