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
用户的密码,输入即可。
安装完成,可以进入
数据库服务器、数据库(database)、数据表(table)统称为数据库,但在使用时需要区分其区别。
- 数据库服务器:在独立的服务器上,有单独的IP地址
- 数据库(node server):业务逻辑的实现
- 数据表(table):
Step 2:远程连接数据库
这里安装的是 数据库服务器,下面使用Navicat
来远程连接服务器。首先,新建连接
点击确定,双击该连接,开始远程连接 MySQL
,会出现如下10038
错误
Step 3:修改服务器MySQL
配置文件
在初始配置文件mysqld.cnf
中,默认连接IP为本机回环地址127.0.0.1
,将其修改为 0.0.0.0
。
进入MySQL
配置路径/etc/mysql/mysql.conf.d
,修改配置文件 mysqld.cnf
。
重启 MySQL
服务,完成配置
sudo /etc/init.d/mysql start
如果启动失败,可以尝试重启服务
service mysql stop
service mysql start
Step 4: 创建用户修改访问权限以远程连接数据库
再次尝试连接数据库,仍然不被允许连接,显示 10038
错误。下面简单分析错误原因。在服务器命令行首先进入mysql
,选择database
,选择需要查看的 table
,来查看 root
用户访问权限
可以看到,root
用户仅能由主机进行连接,无法通过远程连接来访问数据库。与Linux
用户权限相同,root
用户有着最高的权限,所以一般不会使用 root
用户来使用数据库,下面创建新用户来远程访问。
# % 表示所有IP都可访问,yourpassword是自己设置的密码
create user 'admin'@'%' indentified by 'yourpassword';
再次尝试,连接成功
Step 5:赋予用户权限
对于新用户,无法访问 mysql
权限
可以通过 grand
授予权限进行访问。
# 对于任意主机的 admin 用户都有 对mysql数据库的所有表的 select 权限
grant select on mysql.* to 'admin'@'%';
# 对于任意主机的 admin 用户对任意数据库的任意表有任意权限,相当于 root 权限
grant all on *.* to 'admin'@'%'
参考链接
- MySQL 远程连接10038 错误
- Linux 上MySQL服务的启动、查看与关闭