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. MySQL基本库表管理

    基本管理指令 mysql登陆 第一种 [root@wei ~]# mysql -u root -p 第二种(带参输入) [root@wei ~]# mysql -uroot -proot 注意:每个命 ...

  2. XGBoost使用教程(与sklearn一起使用)二

    一.导入必要的工具包# 运行 xgboost安装包中的示例程序from xgboost import XGBClassifier # 加载LibSVM格式数据模块from sklearn.datase ...

  3. 使用BCP从Sybase远程数据库中导出数据

    1.在本机安装Sybase ASE 15,我装的开发版全套,懒得去仔细看需要哪个了 2.在Sybase安装目录里找到ini\sql.ini,在里面添加数据源例如: [MYDS] master=NLWN ...

  4. 201871010135 张玉晶 《面向对象程序设计(java)》第二周学习总结

    201871010135 张玉晶 <面向对象程序设计(java)>第二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  5. JAVA web 框架集合

    “框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还 ...

  6. ESP8266MOD、刷可以使用AT指令的固件、作为客户端向贝壳云端发送固定数据

    硬件部分 1. ESP8266MOD 2. Micro USB数据线一根 实物图:(小灯不必) 硬件准备好之后,直接用数据线连接到电脑即可,然后找到所对应的COM口,记下来备用! 为ESP8266刷A ...

  7. 学习:VB之4C法

    前言:4C法对于单纯的本地验证的话应该比较好使,但是基于网络验证可能就不是很好用了,尽管到了第二个窗口,功能应该还是不能用 逆向过程: 1.直接载入OD,发现第一条汇编指令如下 0040120C &g ...

  8. 总结敏捷开发之Scrum

    敏捷开发的概念 敏捷开发是一种以人为核心,迭代,循序渐进的开发方法. 为什么说是以人为核心?传统的瀑布模型是以文档驱动的,但是在敏捷中,只写少量的文档,注重的是人与人之间面对面的交流. 什么是迭代?迭 ...

  9. Pandas | 06 描述性统计

    有很多方法用来集体计算DataFrame的描述性统计信息和其他相关操作. 其中大多数是sum(),mean()等聚合函数. 一般来说,这些方法采用轴参数,就像ndarray.{sum,std,...} ...

  10. Java——判断回文

    package basic; import java.util.Scanner; public class Palindrome{ public static boolean isPalindrome ...