MySQL安装问题

安装1个数据库

  1. 官网下载免安装压缩包: https://downloads.mysql.com/archives/community/zip开头,msi是安装包)

  2. 下载后解压到某一个目录,随便什么地方都可以。解压后的文件比通过安装包安装的少一个 data 文件夹和my.ini 数据库配置文件。data文件夹后边初始化可以生成,因此只需要配置my.ini文件即可。

    [mysqld]
    # 跳过密码验证 第7步设置过密码后将此行注释并重启mysql服务
    skip-grant-tables=1
    
    # 端口号
    port = 3306
    
    # MySQL安装目录
    basedir=D:\Program Files\MySQL\
    
    # 数据库文件存放地址
    datadir=D:\Program Files\MySQL\Data 
    
    # 最大连接数
    max_connections=200
    
    # 服务端使用的字符集
    character-set-server=utf8
    
    # 避免大数据插入或者更新失败,最大为1024M
    max_allowed_packet = 500M
    
    # 数据库默认使用引擎
    default-storage-engine=INNODB
    
    # 避免1055错误
    sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
    [mysql]
    # mysql客户端默认的字符集,5.7才有的,5.6没有default-character-set属性
    default-character-set=utf8      
    
  3. 配置环境变量

    path 中设置MySQL的目录 *D:\Program Files\MySQL\bin*

    系统变量新建一个变量:变量名:MYSQL_HOME

    ​ 变量值:D:\Program Files\MySQL\ (这个新建的变量可以不加)

    PATH里面新增路径 %MYSQL_HOME%\bin\

  4. 安装服务

    管理员启动CMD,切换到MySQL的bin目录下,输入 mysqld -install <service name>(不写默认为MySQL) 安装服务,可以通过 WIN + R输入services.msc 查看是否安装成功并确认服务安装的路径,如不是配置文件里设置的路径,那么需要删除服务 sc delete mysql 或者 mysqld-nt -remove 然后重复此步

  5. 初始化数据库

    mysqld --initialize-insecure --user=mysql 可以看到生成了data文件夹

  6. 启动服务

    net start mysql

  7. 打开mysql,设置root账户密码

    mysql -u root -p 此时由于配置设置了免密登录因此不需要输入密码

    UPDATE mysql.user SET authentication_string = PASSWORD('root'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost';

    然后输入flush privileges;(刷新账户信息)执行quitctrl+Z退出

    之后把my.ini配置文件第一行 skip-grant-tables = 1 删除,保存文件后重启MySQL服务net stop mysql

    net start mysql

  8. 新建一个admin账户

    CREATE USER 'admin'@'主机IP' IDENTIFIED BY 'admin';
    授权帐号admin主机IP地址下可以访问所有数据库表 GRANT ALL ON *.* TO 'admin'@'主机IP';

安装多个数据库

由于工作需要多个版本的数据库,上一个安装的是MySQL5.7版本,这里需要安装一个8.0.20版本的。

  1. 首先需要在环境变量里配置bin目录的路径并且要把位置移到%MYSQL_HOME%\bin\上边。

  2. 将第一份MySQL文件夹下的my.ini文件复制一份。

  3. 切换到Bin目录下进行初始化: mysqld --initialize --console 如果先安装服务在初始化会进行报错

    初始化成功后会有如下信息,其中最后一行就是生成的默认密码。

    2020-12-23T10:36:36.329607Z 0 [System] [MY-013169] [Server] D:\Program Files\MySQL8.0\bin\mysqld.exe (mysqld 8.0.20) initializing of server in progress as process 5852
    2020-12-23T10:36:36.358893Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
    2020-12-23T10:36:36.370197Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
    2020-12-23T10:36:43.061709Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
    2020-12-23T10:36:53.673603Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: :3rKfjpDw(v>
    
  4. 在bin目录下执行 mysqld --install MYSQL8 ,这里给服务起个名字,以避免报错并进行区分。如果想要删除则执行sc delete mysql8,停止服务 net stop mysql8

  5. 启动服务:net start mysql8 mysql8也就是上边自己设置的名字。

  6. 登录设置密码: mysql -uroot -P3307 -p 输入上边初始化生成的密码。如果这时忘记密码可以将my.ini里的第一行取消注释然后保存并重启服务,这时就可以直接登录然后直接开始第七步即可。

  7. 重置密码:依次使用以下命令

    alter user 'root'@'localhost'identified with mysql_native_password by '你的密码'

    flush privileges;

    exit;

安装前后可能会出现的问题

  • 问题1:由于找不到VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题

    解决办法:安装微软运行库合集

  • 问题2:安装第二个MySQL,版本为8.0.2,重设密码报1064

    报错原因:8.0以后重设密码的方式已经改变。

    解决办法:alter user 'root'@'localhost'identified with mysql_native_password by '你的密码'

  • 问题3:安装MySQL后,其他局域网的电脑连不上本地MySQL

    解决办法: update user set host='%' where user ='root'; 允许任意域名访问

    FLUSH PRIVILEGES; 刷新权限

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; 授予所有权限

    这时别的电脑已经可以连接root用户了,如果此时还连不上请打开防火墙即可。后边每个电脑出于安全问题都为其新建一个账号进行访问:CREATE USER 'admin'@'主机IP' IDENTIFIED BY '用户名'; 后边还需要分配允许访问的数据库、表,以及允许使用的操作:grant 权限操作 on 库名.表名 to '用户名'@'主机IP';

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值