zoukankan      html  css  js  c++  java
  • Mysql安装配置及常见问题解决

    原文地址:https://www.cnblogs.com/imdeveloper/p/15401409.html

    配置服务

    1. 在 mysql 路径下找到 my.ini 文件,如果没有可以在到其它配置好的 Mysql 环境中复制一份放入解压后的mysql文件夹;
    2. 将 basedir 改为 mysql 的实际路径,比如:
      basedir=D:softwaresmysql
    3. 将 datadir 改为 mysql 数据库的数据存放路径,一般是设置为 mysql 路径下的 data 文件夹,比如:
      datadir=D:softwaresmysqldata(不要手动创建 data 文件夹)
    4. 完成后以管理员身份运行 cmd 窗口,进入 mysql/bin 路径下,执行 mysqld --initialize 命令进行初始化,这一步会自动创建上一步所需的 data 目录;
    5. 运行 mysqld install 命令,将 mysql 注册到服务列表;
    6. 之后运行 net start mysql 指令启动Mysql。

    配置用户

    上面的步骤,虽然已经安装并启动了 Mysql ,但是还无法正常使用,需要继续进行下面的配置

    1. 运行 cmd 窗口,进入 mysql/bin 路径下(下面的操作都是在该路径下执行的)
    2. 输入指令连接本地 Mysql:mysql -u root -p
      连接远程mysql:mysql -h 192.168.11.111 -u root -p
    3. 此时密码是未知的,所以需要自己修改 root 用户的密码
      如果输入错误的密码的话,会报错:Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES)
    4. 以管理员角色开启 cmd,进入 mysql/bin 路径下
    5. 关闭服务:net stop mysql
    6. 跳过中间密码验证:mysqld --shared-memory --skip-grant-tables(之后会命令行会在下一行停止)
      (centos的做法是,找到/etc/my.cnf ,在[mysqld]后添加skip-grant-tables,重启mysqld。在完成密码修改后,要记得删除这一行)
    7. 开启另一个命令行窗口,输入 mysql ,进入 mysql 运行环境
    8. 将 root 用户的密码清空,update mysql.user set authentication_string='' where User = 'root';
    9. 关闭以上所有的 cmd 窗口
    10. 服务列表中开启 mysql 服务(或者执行 net start mysql 指令)
    11. 开启新的 cmd 窗口,执行登陆指令:mysql -u root -p
      此时的密码为空字符串,所以要求输入密码的话就直接回车
    12. 此时已成功,直接进入了 mysql 环境
    13. 为 root 设置密码:alter user 'root'@'localhost' identified by 'root';
    14. 至此就完成了 Mysql 用户的配置
    15. 可以新打开一个 cmd 窗口,执行登陆指令:mysql -u root -p,然后输入设置的密码,即可成功登录 Mysql

    配置远程用户

    Navicat Premium 远程连接 Mysql 数据库出现报错:Host '' is not allowed to connect to this MySQL server,原因是该用户没有远程连接权限,此时需要配置适用于远程地址的用户

    1. 创建新用户
      CREATE USER 'root'@'%' IDENTIFIED BY 'root'; # %表示所有服务器可以访问,也可以改成指定IP
    2. 赋予权限
      grant all privileges on *.* to 'root'@'%'; # .表示所有数据库的所有表,也可以改成类似 dbname.*,表示指定数据库的所有表

    可能遇到的问题

    启动服务报错:Found option without preceding group in config file

    原因:mysql里面的配置文件my.ini文件格式是utf-8,只要把 my.ini 文件格式改为ANSI就可以了。

    解决方案:

    1. 管理员权限运行命令提示符,登陆MySql:mysql -u root -p
    2. 修改账户密码加密规则并更新用户密码
    alter user 'root'@'localhost' identified BY 'password' password expire never;   #修改加密规则 (可选)
    alter user 'root'@'localhost' identified with mysql_native_password BY 'password';   #更新一下用户的密码,修改密码加密插件
    
    1. 刷新权限并重置密码:flush privileges; #刷新权限
    2. 再重置下密码:alter user 'root'@'localhost' identified by '111111';
    3. 再次打开Navicat Premium 12连接MySql数据库,就会发现可以连接成功了。
  • 相关阅读:
    什么是ROR
    Struts2中使用Session的两种方法
    js的时间操作方法
    产生4位包含大小字母与数字的验证码
    Java关键字this、super使用总结
    java 反射的实例
    Java语言中定义常量注意事项
    java 静态方法和实例方法的区别
    多线程的例子
    java 中的内省机制
  • 原文地址:https://www.cnblogs.com/imdeveloper/p/15401409.html
Copyright © 2011-2022 走看看