Ubuntu安装MySQL配置远程登录、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端口)
Ubuntu安装MySQL配置远程登录、utf8mb4字符集的更多相关文章
- 记录一次ubuntu安装mysql,远程无法登录问题的解决历程
进入ubuntu的mysql配置文件 sudo vim debian.cnf [client] host = localhost user = debian-sys-maint password = ...
- CentOS6安装MySQL开启远程登录
Centos6安装MySQL 检测下系统有没有自带的mysql:yum list installed | grep mysql 如果已经有的话执行命令 yum -y remove mysql-libs ...
- mysql配置远程登录
1.vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1 2.重启服务:sudo service mys ...
- 【Mysql】给mysql配置远程登录
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option; flush privileges ...
- Ubuntu 安装 Mysql 5.6 数据库
Ubuntu 安装 Mysql 5.6 数据库 1)下载: mysql-5.6.13-debian6.0-x86_64.deb http://dev.mysql.com/downloads/mirro ...
- 总结关于Ubuntu 安装 Docker 配置相关问题及解决方法
总结关于Ubuntu 安装 Docker 配置相关问题及解决方法 Tomcat 示例 软件镜像(xx安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的xx): 步骤: 1.搜索镜像 ...
- ubuntu安装和配置SVN【转】
ubuntu安装和配置SVN 转自:http://www.jb51.net/os/Ubuntu/56394.html 第一步:安装apache2 libapache2-svn subversion ...
- Ubuntu下MySql配置
Ubuntu下MySql配置 安装MySQL 命令: sudo apt-get install mysql-server MySQL初始配置及管理 启动MySQL mysql start : mysq ...
- Linux Deploy Ubuntu安装MySQL
一.在Android手机安装Linux 二.Ubuntu安装Mysql 建议在root用户上操作 sudo su 输入密码 (一)安装mysql 1. sudo apt-get install mys ...
随机推荐
- Nginx七层负载均衡的几种调度算法
Nginx是一款轻量级的高性能web服务器,同时也是一款非常优秀的负载均衡器和反向代理服务器.由于支持强大的正则匹配规则.动静分离.URLrewrite功能及安装配置简单且对网络稳定性依赖非常小等 ...
- HLOJ1361 Walking on the Grid II 矩阵快速幂
题目分析: 就当是一次记录吧,2013年绍兴市市赛的一题,重现赛当时我想递推可能是矩阵快速幂吧,但是这个递推公式真没推出来(赛后猛如虎系列),这题和第一题有联系又有区别,第一题的递推很简单,dp[i] ...
- 汉诺塔问题深度剖析(python实现)
当我们学习一门编程语言的时候,都会遇到递归函数这个问题.而学习递归的一个经典案例就是汉诺塔问题.通过这篇文章,观察移动三个盘子和四个盘子的详细过程,您不仅可以深刻的了解递归,也更加熟悉了汉诺塔的游戏的 ...
- conda管理python环境
https://blog.csdn.net/wld914674505/article/details/80615761 source activate python36
- ajax中什么时候进success和error
先简单介绍下ajax: 简单的说Ajax请求通过XMLHttpRequest对象发送请求,该对象有四个状态(readyState): -未初始化.-正在初始化.-发送数据.-正在发送数据.-完成. 当 ...
- python基础之五:dict 字典
1.数据类型的划分:可变数据类型.不可变数据类型 不可变的有:元组(tuple).字符(str).整型(int).布尔型(bool) 它们都可以哈希 可变的:列表(list).set.字典(dict) ...
- Pandas | 13 索引和选择数据
Pandas现在支持三种类型的多轴索引; 编号 索引 描述 1 .loc() 基于标签 2 .iloc() 基于整数 3 .ix() 基于标签和整数 .loc() Pandas提供了各种方法来完成基于 ...
- Datagrip 2017.2 激活
解决方法 参考网址:https://jetbrains-server.ru/2017/03/31/datagrip-2016-2017-activation/page/2/ 亲测使用http://id ...
- R 语言解压目录下的所有gz文件
setwd("GSE29431_RAW") # 进入目录 fileNames <- list.files() # 获取目录下的所有文件 sapply(fileNames, g ...
- c# 异步调用(异步模式,基于事件)
c# 异步调用之异步模式Func<string, IImageRequest, string> downloadString = (address, req) => { var cl ...