Windows下Mysql 8.0 压缩包方式的安装和配置(Linux也可参考后续配置)

1.Mysql的安装和配置

注意事项:

  1. mysql8 之后并不需要my.ini,会自动的生成data文件夹在解压之后的文件,端口默认3306。若有这个文件,则初始化mysql不成功。

  2. 自己若新建并设置了my.ini 文件,有data文件的话,在初始化之前要删除。然后再初始化

  3. 在初始化之后会自动生成密码,要记下来,后续登上mysql需改密码之后才可后续操作。

  4. 要更改加密规则,不然无法使用工具连接mysql

安装步骤

  1. 下载.zip安装包 并解压

  2. 使用管理员身份打开cmd(电脑“开始”搜索“命令”,右键“管理员身份打开” 命令提示符),进入到mysql的bin目录。

  3. 初始化,并将生成的用户密码记下来(root的随机密码)

     mysqld --initialize --console
    

  4. 安装服务

    mysqld --install
    

    Linux下需安装mysql和mysql-server

  5. 启动mysql服务

    net start mysql
    

    Linux下(如Centos)systemctl start mysqld

  6. 用账号和记下的密码登录即可

    mysql -u root -p
    
  7. 修改root密码("123456"更换成自己要设置的密码)

    alter user 'root'@'localhost' identified by '123456';  
    
  8. 若此时操作报错2059,是告诉你要更改加密规则:

    mysql -u root -p #登录
    
    USE mysql; #选择数据库
    
    ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更换加密方式设置密码,'password'改为自己的密码
    
    FLUSH PRIVILEGES; #刷新权限
    
  9. 配置远程访问(允许除localhost的机器访问,解决 1130 - Host 'xxx' is not allowed to connect to this MySQL server):

    USE mysql; #选择数据库
    
    UPDATE user SET host = '%' WHERE user = 'root'; #设置允许任意IP访问
    
    quit #退出并重新登录mysql
    
    mysql -u root -p #登录
    
    GRANT ALL ON *.* TO 'root'@'%'; #给root授予所有权限和授权选项,让它可以访问和管理所有数据库和表。%表示允许所有ip
    
    FLUSH PRIVILEGES; #刷新权限
    
  10. Centos下切换数据存储路径:

    新建目录如/home/data/mysql,修改目录的用户和用户组为mysql

    chown -R mysql:mysql /home/data/mysql
    

    修改/etc/my.cntdatadirsocket,改为目标路径,切换后,重启mysqld服务,查看/var/log/mysqld.log,通过grep搜索新的初始密码

    systemctl restart mysqld #重启mysqld服务,如重启报错,则需关闭SELINUX
    
    #临时关闭
    setenforce 0
    #永久关闭
    vi /etc/selinux/config
    设置SELINUX=disabled
    
    cat /var/log/mysqld.log | grep 'password' #查看初始密码
    

    登录Mysql重新配置

    如不能root@localhost本机登录,则在/etc/my.cnt下配置

    [client]
    defalut-character-set=utf8mb4
    port=3306
    socket=<新的.sock路径>
    

    DBeaver远程连接mysql报all public key...错时

    在编辑连接页面,驱动管理中,设置为true

结束

2.Mysql:导入sql文件时1418错误

  1. 查看创建函数的功能是否开启:

    mysql> show variables like '%func%';
    
    +-----------------------------------------+-------+
    | Variable_name | Value |
    +-----------------------------------------+-------+
    | log_bin_trust_function_creators | ON  |
    +-----------------------------------------+-------+
    1 row in set (0.02 sec)
    
  2. 如果Value处值为OFF,则需将其开启。

    mysql> set global log_bin_trust_function_creators=1;//注意分号
    
posted @ 2020-10-12 00:05  zhouqx979  阅读(225)  评论(0编辑  收藏  举报