Windows系统搭建MySQL 8.0问题汇总

Windows11下配置MySQL方式,及部分错误解决方案

环境:windows11 专业版  、MySQL8.0.36

安装步骤

  1. 下载MySQL 8.0安装文件:您可以从MySQL官方网站下载MySQL 8.0的安装文件。访问 MySQL :: Download MySQL Community Server页面,选择Windows (x86, 64-bit), ZIP Archive版本,然后下载

  2. 解压下载后的压缩包 本文解压目录 为  F:\python_all\mysql-8.0.36  (可以自定义)

  3. 创建my.ini文件,并放在根目录下 本文范例放在 F:\python_all\mysql-8.0.36\my.ini

  4. my.ini一般设置如下  可自行取舍修改  端口号遇冲突可自定义修改成别的端口

    [mysqld]
    # IP地址 默认不写
    # bind_adress=localhost
    # 端口号  注意这里没有配置默认的3306 即可以自定义 如果遇到端口冲突的话
    port=3307
    # mysql的安装根目录
    basedir=F:\\python_all\\mysql-8.0.36
    # datadir在哪里,则最终创建的mysql数据库文件就在哪里
    datadir=C:\\Users\\why\\Desktop\\shortage
    # 最大连接数
    max_connections=300
    # 允许连接失败的次数
    max_connect_errors=10
    # 字符集
    character-set-server=UTF8MB4
    # 数据库引擎 如无特殊要求一律INNODB
    default-storage-engine=INNODB
    # 打开本地文件导入权限
    local_infile=ON
    # 禁用binlog日志 如不禁用,则注释这下面这一行
    skip-log-bin
    #是否启用慢查询日志,1为启用,0为禁用  
    slow_query_log = 1
    
    #记录系统时区
    log_timestamps = SYSTEM
    
    #慢查询执行的秒数,必须达到此值可被记录
    long_query_time = 5
    
    #将没有使用索引的语句记录到慢查询日志  
    log_queries_not_using_indexes = 0
    
    #设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间  
    log_throttle_queries_not_using_indexes = 60
     
    #对于查询扫描行数小于此参数的SQL,将不会记录到慢查询日志中
    min_examined_row_limit = 5000
     
    #记录执行缓慢的管理SQL,如alter table,analyze table, check table, create index, drop index, optimize table, repair table等。  
    log_slow_admin_statements = 0
    
    #提高刷新脏页数量和合并插入数量,改善磁盘I/O处理能力
    #根据您的服务器IOPS能力适当调整
    #一般配普通SSD盘的话,可以调整到 10000 - 20000
    #配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
    innodb_io_capacity = 4000
    innodb_io_capacity_max = 8000
    
    [mysql]
    default-character-set=UTF8MB4
    local_infile=ON
    [client]
    # 端口号  与mysqld配置一致
    port=3307
    default-character-set=UTF8MB4
    local_infile=ON

配置MySQL

  1. 管理员身份运行命令提示符(win11下 开始菜单右键,选择终端(管理员))
  2. 转到mysql的bin目录下  cd /d F:\python_all\mysql-8.0.36
  3. 安装MySQL服务并初始化
    # 安装MySQL服务 默认配置文件选择my.ini文件路径
    mysqld --install "MySQL" --defaults-file="F:\python_all\mysql-8.0.36\my.ini"
    
    # 初始化 MySQL
    mysqld --initialize --console
    
    

    结果图如下  Ctrl+C保存  Tf3xLl(KifB/ 这一段初始密码注:如果不小心关闭窗口,忘记初始化生成的密码,可以删除初始化生成的data文件夹,重新初始化即可。

  4. 启动MySQL服务 
    net start mysql
  5. 登录MySQL  密码直接Ctrl+V即可,就是刚刚的初始密码
    mysql -uroot -p
  6. 修改root密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

  7. 创建新用户 比如:why
    CREATE USER 'why'@'localhost' IDENTIFIED BY 'why11111';

  8. 授予全部权限并刷新
    grant all privileges on *.* to 'why'@'localhost';
    flush privileges;
    

  9. 查看当前账户
    use mysql;
    select host,user from user;


报错汇总

  • ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
  1. 端口无效,检查my.ini中设置的端口是否是3306,特别注意[mysqld]和[mysql]中port是否一致?
  2. 端口冲突,例如我碰到win11本地创建了MySQL服务,又在WSL Ubuntu虚拟机中创建了MySQL服务,两者的端口都是3306,可能导致问题发生

        解决方案:修改my.ini文件,或者命令中加入-P  改成别的端口 mysql -uroot -P 3307 -p


  • ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

        忘记了root密码 解决方式很多 膜拜大神

        重置密码大法 Mysql 8.0.13忘记密码 重置密码_mysql8.0.13 密码修改-CSDN博客文章浏览阅读2.4k次,点赞16次,收藏24次。前言网上很多关于mysql密码重置的方法,例如:cmd 里敲命令: mysqld –skip-grant-tables以不输入密码的方式启动MySQL服务,但是这条命令对MYSQL8.0.13,是没有任何作用的。经过多次实验,亲测可用方法如下(很简单)。方法1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务2.开启跳过密码验证登录的MySQL服务,输..._mysql8.0.13 密码修改https://blog.csdn.net/qq_37144341/article/details/86152645

        删库重建大法 Windows 安装MySQL 8.0 (非常详细)从零基础入门到精通,看完这一篇就够了_windows安装mysql8.0-CSDN博客文章浏览阅读1w次,点赞12次,收藏46次。网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。_windows安装mysql8.0https://blog.csdn.net/leah126/article/details/132109534#t32

        linux修改密码方法 ubuntu系统下mysql重置密码和修改密码操作_cd /etc/mysql sudo vim debian.cnf-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/skh2015java/article/details/80156278


  • ERROR 1820 (HY000): You must reset your password using ALTER USER statement before

        解决方案MySQL 报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Wing_kin666/article/details/110921440

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Docker Compose 来搭建 MySQL 8.0 的主从复制。以下是一个示例的 `docker-compose.yml` 文件: ```yaml version: '3' services: master: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: mydb MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_LOG_BIN: mysql-bin volumes: - ./master-data:/var/lib/mysql ports: - 3306:3306 slave: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: mydb MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_LOG_BIN: mysql-bin MYSQL_MASTER_HOST: master MYSQL_MASTER_PORT: 3306 MYSQL_MASTER_USER: user MYSQL_MASTER_PASSWORD: password volumes: - ./slave-data:/var/lib/mysql ``` 在这个示例中,我们定义了两个服务:`master` 和 `slave`。`master` 使用 MySQL 8.0 镜像,并设置了必要的环境变量和卷挂载,以便持久化数据。`slave` 同样使用 MySQL 8.0 镜像,并设置了与 `master` 相关的环境变量。 你可以将上述内容保存为 `docker-compose.yml` 文件,然后在命令行中执行以下命令启动服务: ``` docker-compose up -d ``` 这将会启动两个容器,分别对应主库和从库。你可以通过访问 `localhost:3306` 来访问主库,使用 `localhost:3307` 来访问从库。 当容器启动后,你可以登录到主库中创建一个测试数据库,并向其中插入一些数据。然后,这些数据将会通过主从复制同步到从库中。 希望这个示例对你有所帮助!如果你有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值