Mysql解压缩安装

下载

在mysql官网下载mysql压缩包:
本文以windows安装为例:mysql-8.0.12-winx64.zip
https://www.mysql.com/downloads/

配置

  1. 环境变量配置
    用户变量新增:
    在这里插入图片描述
    系统变量path添加:
    在这里插入图片描述

  2. 配置my.ini
    在mysql主目录新建my.ini,并复制粘贴保存如下内容:

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

安装

以管理员的身份打开cmd命令窗口,(获取初始密码,以下二选一)

  1. 第一种:输入mysqld --initialize 命令初始化mysql的data数据目录,初始化完毕后,会在解压目录下生成一个data文件夹, 在这个文件夹下有一个.err结尾的文件,打开后会有随机生成的密码。
  2. 第二种:使用mysqld --initialize --console命令,生成随机密码

启动

启动服务:

net start mysql

修改密码

  1. 使用随机密码登录并修改密码 : mysql -u root -p

  2. 修改登陆密码 ‘新密码’ 替换你需要的新密码

         ALTER USER USER() IDENTIFIED BY '新密码';
    

或者更新密码:

update mysql.user set authentication_string=password('新密码') where user='root' and Host = 'localhost';

可能出现的问题

  1. 执行 net start mysql 时,提示:服务名无效。
    解决办法:
    1)cmd 来到MySQL的安装路径下bin
    2)在命令行中输入mysqld --install

  2. 执行mysqld --install 时,提示:Install/Remove of the Service Denied!
    解决办法:
    用管理员的权限执行, “附件”下,右击“命令提示符”命令,从弹出的菜单中选择“以管理员身份运行”命令。

  3. navcat远程连接失败,提示:1251 client does no support authentic错误。
    解决办法:
    1)查看mysql用户信息:

    select host,user,plugin,authentication_string from mysql.user;
    

    2)修改root用户密码:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
    
  4. 添加允许远程连接
    1) 用root用户登陆
    2) grant all privileges on . to 创建的用户名 @"%" identified by “密码”;
    3) flush privileges; * 刷新刚才的内容*

格式说明:

  1. grant 权限 on 数据库教程名.表名 to 用户@登录主机 identified by “用户密码”;
  2. @ 后面是访问mysql的客户端ip地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。

同时也可以为现有的用户设置是否具有远程访问权限。如下:(此方式可行)

use mysql;
update user set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)
flush privileges;

示例:(此方法报错,未知)

grant all privileges on *.* to root@localhost identified by 'root' with grant option;
grant all privileges on *.* to root@"%" identified by 'root' with grant option;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值