本篇教程在示例步骤中使用了以下版本的软件。操作时,请您以实际软件版本为准。
- 操作系统:
Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-105-generic x86_64)
- MySQL 版本:
MySQL 5.7.24-0ubuntu0.16.04.1 (Ubuntu)
- MySQL 可视化工具:
Navicat for MySQL 10.1.7-enterprise
一、MySQL 下载与安装
- 更新
apt
:# apt-get update
- 这里使用的是
apt
软件包安装:- 安装
mysql-server
:# apt-get install mysql-server
(安装的过程中会提示您为root
用户设置密码、确认密码并按下回车ok
即可。
- 安装
- 测试 MySQL 是否安装成功:
# netstat -tap | grep mysql
- 打印类似信息为安装成功:
tcp 0 0 localhost:mysql *:* LISTEN 6902/mysqld
- 打印类似信息为安装成功:
- 使用
root
用户登陆 MySQL:mysql -uroot -p
- 输入密码:
输入刚才安装过程中设置的密码
- 到这一步你可能会遇到这样的错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- 打开
cat /etc/mysql/my.cnf
后你会发现该配置文件引入了!includedir /etc/mysql/conf.d/
和!includedir /etc/mysql/mysql.conf.d/
- 打开配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 按
i
键进入编辑模式 - 在
[mysqld]
后面任意一行添加skip-grant-tables
用来跳过密码验证的过程 - 按 Esc 键退出编辑模式,输入
:wq
保存并关闭文件。
- 输入密码:
- 重启 MySQL:
service mysql restart
二、修改 MySQL 编码为 utf8
- 登陆 MySQL:
mysql -uroot -p
,并输入登陆密码 - 查看 MySQL 编码:
\s
(参见附录1)或show variables like '%char%';
(参见附录2) - 打开配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 按
i
键进入编辑模式 - 在
[mysqld]
中lc-messages-dir = /usr/share/mysql
的后面添加character_set_server=utf8
- 按 Esc 键退出编辑模式,输入
:wq
保存并关闭文件。
- 按
- 打开配置文件
vim /etc/mysql/conf.d/mysql.cnf
- 按
i
键进入编辑模式 - 在
[mysql]
后面添加default-character-set=utf8
- 按 Esc 键退出编辑模式,输入
:wq
保存并关闭文件。
- 按
- 重启 MySQL:
service mysql restart
- 登陆 MySQL 后使用
\s
或show variables like '%char%';
查看修改结果。
三、配置 MySQL 远程连接
注意:在 MySQL 中所执行的语句 / 命令最好都以 ;
结束;遇到使用 utf8
编码的地方则需要使用 utf8
,而不是 utf-8
。
- 设置 MySQL 允许远程访问:
- 首先编辑配置文件:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 按
i
键进入编辑模式 - 注释掉
# bind-address = 127.0.0.1
- 按 Esc 键退出编辑模式,输入
:wq
保存并关闭文件。
- 首先编辑配置文件:
- 登陆 MySQL,查看 MySQL 用户:
select host,user from mysql.user;
- 创建新用户:
create user '用户名'@'%' identified by '密码';
- 授权远程连接 MySQL 的用户:
grant all privileges on *.* to '用户名'@'%' identified by '密码';
-
%
表示所有的电脑都可以连接,也可以设置某个IP地址
进行连接 - 更新用户密码:
update user set password=password("新密码") where user="root";
- 更改权限过程中可能会出现的问题:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
,提示密码不符合要求,这应该是安装的时候,您选择了密码强度为Strong
。 - 这里使用更改密码策略:
set global
更改密码策略:set global validate_password_policy=0;
- 设置密码长度:
set global validate_password_length=6;
- 更新密码:set password=Password('123456');
- 退出 MySQL:
quit
或\q
或exit;
- 使用新密码重新登陆 MySQL,继续进行授权操作。
-
- 刷新权限表,使配置生效:
flush privileges;
- 重启 MySQL:
service mysql restart
- 添加监听端口号
3306
:iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
- 查看是否被监听:
iptables -L -n
- 设置防火墙打开
3306
端口:ufw allow 3306
- 查看是否被监听:
- 最重要的一步,登录阿里云 —> 控制台 —> 云服务器ECS —> 网络和安全 —> 安全组,在入方向点击配置规则进行配置,
3306
端口是访问服务器 MySQL 的,没有的话就添加规则,端口范围选择3306/3306
,授权策略为允许
,授权协议为MySQL(3306)
,授权对象设置为0.0.0.0/0
,允许所有外部 IP 访问。- 查看 3306 端口是否被监听:
netstat -an | grep 3306
- 显示
tcp6 0 0 :::3306 :::* LISTEN
- 查看 3306 端口是否被监听:
- 远程连接 MySQL 测试,这里偷懒使用了 Windows 的命令行工具(参见附录3)
四. 参考链接
附录 1
- 查看 MySQL 版本信息与编码:
\s
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper
Connection id: 3
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.24-0ubuntu0.16.04.1 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 16 sec
Threads: 1 Questions: 5 Slow queries: 0 Opens: 107 Flush tables: 1 Open tables: 26 Queries per second avg: 0.312
--------------
附录 2
- 查看 MySQL 编码:
show variables like '%char%';
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
- 设置 MySQL 编码为
utf8
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
附录 3
- CMD 远程访问 Ubuntu 16.04 下 MySQL 测试:
C:\Users\wumz>mysql -h 公网IP地址 -u 授权用户 -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.24-0ubuntu0.16.04.1 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Ubuntu16.04安装MySQL的更多相关文章
-
Ubuntu16.04 安装 MySQL
本篇介绍如何在Ubuntu系统上安装MySQL数据库,以及介绍数据库的基本命令. 一.下载和安装MySQL 可以通过apt-get下载并安装 sudo apt-get install mysql-se ...
-
ubuntu16.04 安装mysql
安装mysql 1.sudo apt-get install mysql-server 2.sudo apt install mysql-client 3.sudo apt install libmy ...
-
ubuntu16.04安装mysql数据库
安装 sudo apt-get install mysql-server(安装过程中按提示设置root密码) sudo apt-get install mysql-client sudo apt-ge ...
-
ubuntu16.04安装jdk/mysql/tomcat (使用apt-get命令)
安装jdk 更新系统安装包缓存,并且安装OpenJDK8 sudo apt-get update sudo apt-get install openjdk-8-jdk 检查jdk版本 java -ve ...
-
Ubuntu16.04中Mysql 5.7 安装配置
记录在Ubuntu 16.04安装Mysql 5.7时遇到的一些问题. Mysql安装 使用如下命令进行安装: 1 sudo apt-get install mysql-server mysql-cl ...
-
MySQL学习笔记(一)Ubuntu16.04中MySQL安装配置(5.6优化、错误日志、DNS解决)
目录 第一部分.5.6安装.配置.自动备份 第二部分.5.7源码安装.配置.自动备份 第一部分.5.6安装 1.安装mysql sudo apt-get install mysql-server su ...
-
阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境
阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境 优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...
-
ubuntu16.04安装wordpress
ubuntu16.04安装wordpress和centos7安装wordpress存在一定的差异. 当然共性大于差异. 共性是lamp环境. wordpress的必备环境. 先共性再差异. 一.搭建l ...
-
ubuntu16.04与mysql的运维注意事项
1:环境 ubuntu16.04 虚拟机,需要搭建一个MySQL的生产或者测试环境 2:操作步骤 2.1:更新系统源 首次给root用户指定密码 ,先用安装用户登录 sudo apt-get up ...
随机推荐
-
C#设计模式系列:备忘录模式(Memento)
1.备忘录模式简介 1.1>.定义 备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态. 1.2>.使用频率 ...
-
Linux的awk命令
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
-
问题-安装XP时,提示不识别SATA硬盘
问题现象:笔记本装XP时,系统提示硬盘不能被识别? 问题描述:我原来是vista版本的,硬盘是SATA接口,但我觉得用vista不习惯,所以想装XP,可后来发现机器无法识别硬盘,该怎么解决? 问题原因 ...
-
R语言 关联规则
在用R语言做关联规则分析之前,我们先了解下关联规则的相关定义和解释. 关联规则的用途是从数据背后发现事物之间可能存在的关联或者联系,是无监督的机器学习方法,用于知识发现,而非预测. 关联规则挖掘过程主 ...
-
IIS URLReWrite URL 重写模块 下载地址
https://www.microsoft.com/zh-cn/download/details.aspx?id=7435
-
Java 线程安全LocalTime 和LocaldateTime 新的Date和Time类 -JDK8新时间类的简单使用
不可变类且线程安全 LocalDate .java.time.LocalTime 和LocaldateTime 新的Date和Time类 DateTimeFormatter ==https://ww ...
-
jQuery第七章插件的编写和使用
1.本章目标 编写jquery插件 2.插件 也称为扩展,是一种按照一定的规范的应用程序接口编写出来的程序 插件的目标是给已有的一系列函数做一个封装,以便在其他的地方复用,方便维护和开发效率 3.jq ...
-
SSM框架主要几个注解的位置
@Controller @Service @Repository @Component Controller (控制层) Service (业务层) daoImpl (实现层) 模糊注解 @Autow ...
-
tmk射气球
问题 : tmk射气球 时间限制: 1 Sec 内存限制: 128 MB 题目描述 有一天TMK在做一个飞艇环游世界,突然他发现有一个气球沿匀速沿直线飘过,tmk想起了他飞艇上有一把弓,他打算拿弓去 ...
-
3dContactPointAnnotationTool开发日志(二七)
今天的主要工作是把选中物体以及复制删除物体和右边三个面板联系起来,就是通过鼠标框选住物体,右边面板的对应项的颜色也会改变,而且通过右边面板也能控制物体的选中状态,被选中的物体成cyan青色,并且包 ...