【mysql部署】在ubuntu22.04上安装和配置mysql教程
新青年-1 2024-06-30 10:37:04 阅读 83
一.安装mysql
1. 更新软件包列表:
sudo apt-get update
2.安装 MySQL 服务器:
sudo apt-get install mysql-server
3.设置 MySQL 安全性:
sudo mysql_secure_installation
按照提示输入相关问题的回答,例如删除匿名用户、禁止 root 远程登录等。
这里建议直接输入y
。
这里根据自己要设置的密码强度自行选择,这里我选择输入0
。
后面还有几个选项,默认输入y
就行。
4.启动 MySQL 服务:
sudo service mysql start
5.检查mysql是否处于运行状态:
sudo service mysql status
如果 MySQL 正在运行,将看到 “active (running)” 的输出信息。
6.检查 MySQL 版本:
mysql --version
二.修改mysql配置
1.以root身份登录mysql
MySQL 数据库带有一个客户端实用程序,允许你从 Linux 终端访问数据库并与之交互。
通常,在未执行任何配置的情况下在 Ubuntu 上全新安装 MySQL 后,访问服务器的用户将使用身份验证套接字 (auth_socket) 插件进行身份验证。
2.打开 MySQL 控制台:
sudo mysql
3.输入命令检查数据库对不同用户使用的身份验证方法:
SELECT user,authentication_string,plugin,host FROM mysql.user;
我们可以看到root用户是使用身份验证套接字 (auth_socket) 插件进行身份验证登录的,并且只能在本地登录。
在生产环境中,为了保证数据库的安全性,我们一般不建议直接使用 root 用户进行其他操作,而是创建一个专门用于应用程序或管理员操作的非特权用户,并且仅授予该用户必要的权限。
接下来,我们开始创建非特权用户,并且授予该用户必要的权限!
4.列出 MySQL 数据库服务器上的所有数据库:
SHOW DATABASES;
5.切换到其中一个数据库mysql:
use mysql;
6.创建用户new_user
,并设置只能本地登录,登录密码为password
。用户名和密码自己设置,并且密码包括大写,小写,数字等字符。
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
这里我是创建的用户名为wwk
7.我们再次输入命令检查数据库对不同用户使用的身份验证方法:
SELECT user,authentication_string,plugin,host FROM mysql.user;
可以看到多了一条记录,并且该用户wwk是使用密码登录,只能在本地登录。
8.尝试创建一个新的数据库进行存储应用程序的数据,例如mydatabase
:
CREATE DATABASE mydatabase;
9.设置刚才自己创建的用户wwk
登录方式为远程登录。
update user set host='%' where user='wwk' and host='localhost';
10.我们再次输入命令检查数据库对不同用户使用的身份验证方法:
SELECT user,authentication_string,plugin,host FROM mysql.user;
从图中的%
,我们可以看到用户wwk的登录方式已经是允许在任意主机上进行登录了。
11.授予用户new_user
适当的权限,给予用户new_user
在任意主机登录,并且只能对于数据库database_name
进行所有操作的权限。
GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'%';
这里的用户new_user
可以替换为之前创建的用户wwk
,数据库database_name
替换为刚才创建的数据库mydatabase
。
12.退出mysql
exit
13.接着,进入目录/etc/mysql/mysql.conf.d
,修改其下的文件mysqld.cnf
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address = 127.0.0.1注释掉(即在行首加#)
代码如下:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
如果只是开发用的数据库,为了方便起见建议直接注释掉。
14.完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效:
sudo service mysql restart
到此,mysql的配置修改就结束了。
三.使用datagrip或者idea远程登录mysql
这里为了方便我使用idea进行mysql远程登录。首先登录idea,然后按照如下图步骤进行操作。
然后来到了data sources界面:
在Host填入mysql所在的ip地址,接着填入用户名wwk和密码,点击下方的Test Connection进行测试连接,从图中,我们可以看到是连接成功的!
接着点击下图红色方块选择需要展示的数据库个数
这里选择需要展示的数据库数量为ALL
,然后点击刷新。
然后就可以从图中找到数据库mydatabase
了,由于之前我们授予用户wwk
只能对数据库mydatabase
进行所有操作的权限,因此用户wwk
并没有其他多余的权限,这样就能够保证数据库的安全性!!
我们就可以在这个可视化界面进行数据库mydatabase
的所有操作,包括插入,删除,添加,更新,查询,修改等操作啦!!
上一篇: 【docker】拉取镜像报证书错误:error pulling image configuration: download failed after attempts=6: tls: failed t
下一篇: Nginx可视化管理工具结合cpolar实现远程访问内网服务
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。