MySQL系列(一)在Linux服务器上安装并配置MySQL

  • Step 1: 在终端安装Mysql-server-5.7
  • Step 2:远程连接数据库
  • Step 3:修改服务器`MySQL`配置文件
  • Step 4: 创建用户修改访问权限以远程连接数据库
  • Step 5:赋予用户权限
  • 参考链接


Step 1: 在终端安装Mysql-server-5.7

在终端输入如下如下命令:

sudo apt-get install mysql-5.7

在安装时需要输入 root 用户的密码,输入即可。

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_数据库


安装完成,可以进入

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_数据库_02

数据库服务器、数据库(database)、数据表(table)统称为数据库,但在使用时需要区分其区别。

  • 数据库服务器:在独立的服务器上,有单独的IP地址
  • 数据库(node server):业务逻辑的实现
  • 数据表(table):

Step 2:远程连接数据库

这里安装的是 数据库服务器,下面使用Navicat 来远程连接服务器。首先,新建连接

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_linux_03


点击确定,双击该连接,开始远程连接 MySQL,会出现如下10038 错误

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_MySQL_04

Step 3:修改服务器MySQL配置文件

在初始配置文件mysqld.cnf中,默认连接IP为本机回环地址127.0.0.1,将其修改为 0.0.0.0

进入MySQL 配置路径/etc/mysql/mysql.conf.d ,修改配置文件 mysqld.cnf

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_mysql_05

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_MySQL_06

重启 MySQL 服务,完成配置

sudo /etc/init.d/mysql start

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_mysql_07


如果启动失败,可以尝试重启服务

service mysql stop
service mysql start

Step 4: 创建用户修改访问权限以远程连接数据库

再次尝试连接数据库,仍然不被允许连接,显示 10038 错误。下面简单分析错误原因。在服务器命令行首先进入mysql ,选择database ,选择需要查看的 table ,来查看 root 用户访问权限

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_数据库_08


服务器中使用普通用户下载并安装redis 在服务器上安装mysql_mysql_09

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_MySQL_10


可以看到,root 用户仅能由主机进行连接,无法通过远程连接来访问数据库。与Linux 用户权限相同,root 用户有着最高的权限,所以一般不会使用 root 用户来使用数据库,下面创建新用户来远程访问。

# % 表示所有IP都可访问,yourpassword是自己设置的密码
create user 'admin'@'%' indentified by 'yourpassword';

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_linux_11


再次尝试,连接成功

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_linux_12

Step 5:赋予用户权限

对于新用户,无法访问 mysql 权限

服务器中使用普通用户下载并安装redis 在服务器上安装mysql_MySQL_13


可以通过 grand 授予权限进行访问。

# 对于任意主机的 admin 用户都有 对mysql数据库的所有表的 select 权限
grant select on mysql.* to 'admin'@'%';

# 对于任意主机的 admin 用户对任意数据库的任意表有任意权限,相当于 root 权限
grant all on *.* to 'admin'@'%'

参考链接

  1. MySQL 远程连接10038 错误
  2. Linux 上MySQL服务的启动、查看与关闭