zoukankan      html  css  js  c++  java
  • Ubuntu18.04安装MySQL5.7 并配置远程登录、utf8mb4字符集

    2019/11/19, Ubuntu Server 18.04,MySQL 5.7

    摘要:Ubuntu Server 18.04 安装MySQL 5.7 并配置远程登录、utf8mb4字符集

    由于MySQL官方下载最新版8.0速度很慢,使用阿里云软件源中的MySQL5.7版本

    配置软件源

    使用阿里云镜像源-配置教程

    安装MySQL5.7

    更新软件源并安装mysql-server(默认5.7.28版本,可以使用apt-cache madison mysql-server命令查看mysql-server在镜像源中的版本)

    sudo apt-get update
    sudo apt-get install -y mysql-server
    

    安装完成后,可以使用

    mysql -V
    

    查看当前MySQL版本

    配置MySQL

    MySQL 5.7安装完成后普通用户不能进mysql,原因:root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password

    登录数据库

    使用root权限登录MySQL(如果无法使用root权限登录,可以使用安装时默认生成的账户,教程)

    sudo mysql
    

    修改密码及登录设置

    #切换mysql数据库
    use mysql;
    #修改root账号密码
    update user set authentication_string = password('你的密码'), password_expired = 'N', password_last_changed = now() where user = 'root';
    #不限制root账户登录来源(任意地址都能登录)
    update user set host='%' where user='root';
    #使用原生密码验证登录
    update user set  plugin="mysql_native_password";
    #刷新权限
    flush privileges;
    #退出
    exit;
    

    修改登录来源地址

    修改配置文件,注释掉bind_ip_address

    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    

    找到bind-address = 127.0.0.1,注释掉该行:

    修改完成后,MySQL登录来源不再限于127.0.0.1

    修改字符集

    MySQL对于my.cnf配置文件的搜索顺序是/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
    其中/etc/mysql/my.cnf里有两行文字:

    1.注释中写了复制本文件到/etc/mysql/my.cnf可以作为全局设定,复制到~/.my.cnf可以作为用户指定设定
    2.红色框中,指定包含了/etc/mysql/conf.d/ /etc/mysql/mysql.conf.d/两个文件夹中的配置文件(includedir是包含文件夹的意思,但是前面又加了个"!",验证发现这两个文件夹的配置肯定是包含的,但是不明白为什么要有感叹号,像是编程中的“非”的意思)

    我这里暂时把/etc/mysql/conf.d/mysql.cnf作为主配置文件,如有问题随时修改该文章

    sudo vi /etc/mysql/conf.d/mysql.cnf
    

    将以下内容写入文件:

    [mysqld]
    character-set-server = utf8mb4
    #关闭dns解析(注意:这会造成只能使用ip远程连接MySQL)
    skip-name-resolve
    
    [client]
    default-character-set = utf8mb4
    
    [mysql]
    default-character-set = utf8mb4
    

    保存退出。
    配置文件中,添加了skip-name-resolve关闭了dns域名解析(因为内网环境无法解析,参考文档

    重启MySQL服务

    sudo service mysql restart
    

    此时本地使用mysql -u root -p登录或远程登录都可以(注意是否开启防火墙以及防火墙是否开启3306端口)

  • 相关阅读:
    如何解决"应用程序无法启动,因为应用程序的并行配置不正确"问题
    C/C++时间函数使用方法
    vim: C++文件之间快速切换(含视频)
    HOWTO install commonlisp on ubuntu
    TagSoup home page
    Quicklisp beta
    What is Lispbox?
    猫人女王
    Lisp in a box 安装指南 JAAN的专栏 博客频道 CSDN.NET
    Ubuntu 12.04 改造指南 | Ubuntusoft
  • 原文地址:https://www.cnblogs.com/kasnti/p/11888840.html
Copyright © 2011-2022 走看看