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端口)

Ubuntu安装MySQL配置远程登录、utf8mb4字符集的更多相关文章

  1. 记录一次ubuntu安装mysql,远程无法登录问题的解决历程

    进入ubuntu的mysql配置文件 sudo vim debian.cnf [client] host = localhost user = debian-sys-maint password = ...

  2. CentOS6安装MySQL开启远程登录

    Centos6安装MySQL 检测下系统有没有自带的mysql:yum list installed | grep mysql 如果已经有的话执行命令 yum -y remove mysql-libs ...

  3. mysql配置远程登录

    1.vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1 2.重启服务:sudo service mys ...

  4. 【Mysql】给mysql配置远程登录

    grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option; flush privileges ...

  5. Ubuntu 安装 Mysql 5.6 数据库

    Ubuntu 安装 Mysql 5.6 数据库 1)下载: mysql-5.6.13-debian6.0-x86_64.deb http://dev.mysql.com/downloads/mirro ...

  6. 总结关于Ubuntu 安装 Docker 配置相关问题及解决方法

    总结关于Ubuntu 安装 Docker 配置相关问题及解决方法 Tomcat 示例 软件镜像(xx安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的xx): 步骤: 1.搜索镜像 ...

  7. ubuntu安装和配置SVN【转】

    ubuntu安装和配置SVN 转自:http://www.jb51.net/os/Ubuntu/56394.html 第一步:安装apache2  libapache2-svn subversion ...

  8. Ubuntu下MySql配置

    Ubuntu下MySql配置 安装MySQL 命令: sudo apt-get install mysql-server MySQL初始配置及管理 启动MySQL mysql start : mysq ...

  9. Linux Deploy Ubuntu安装MySQL

    一.在Android手机安装Linux 二.Ubuntu安装Mysql 建议在root用户上操作 sudo su 输入密码 (一)安装mysql 1. sudo apt-get install mys ...

随机推荐

  1. 【异常】The dependencies of some of the beans in the application context form a cycle

    一.异常出现场景以及异常信息 场景:SpringBoot中自定义DataSource数据源 异常信息: -- :: --- [ main] o.s.b.d.LoggingFailureAnalysis ...

  2. docker 网络模式 和 端口映射

    docker 的 网络模式 docker 自带 3 种 网络模式:分别是bridge网络,host网络,none网络,可以使用  docker network ls  命令查看. 1.none网络 这 ...

  3. HFS ~ Http File Server

    HFS ~ Http File Server官网:https://www.rejetto.com/hfs/ 官方下载地址:https://www.rejetto.com/hfs/hfs.exe

  4. 使用Supervisor管理Django应用进程

    官方文档 1.安装 pip install supervisor 2.使用说明 2.1  查看默认配置 echo_supervisord_conf 一般情况下,不需要去修改默认配置,而是将默认配置重定 ...

  5. Xcode添加库文件framework (转)

    首先需要了解一下iOS中静态库和动态库.framework的概念 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我 ...

  6. vue-router模式history与hash

    [重点] history与hash路由的区别 hash前端路由,无刷新 history 会去请求接口 vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 U ...

  7. java任务调度之Timer定时器

    定时器相信大家都不陌生,平时使用定时器就像使用闹钟一样,我们可以在固定的时间做某件事,也可以在固定的时间段重复做某件事,今天就来分析一下java中自带的定时任务器Timer. 一.Timer基本使用 ...

  8. 15-cmake语法-math

    math 数学表达式 math(EXPR <output variable> <math expression>) 例子: math(EXPR VAR "${VAR} ...

  9. Python input() 函数

    Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型. Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获 ...

  10. CNCF LandScape Summary

    CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...