安装Mysql

安装Mysql
Jiang-Mak Yiu如何在Ubuntu上安装和配置MySQL并允许远程访问
在本文中,我们将介绍如何在Ubuntu上安装和配置MySQL,并设置允许远程访问。我们将从安装MySQL开始,然后进行基本的安全配置,修改MySQL配置文件以允许远程连接,并创建可以远程访问的用户。
步骤1:更新包列表并安装MySQL服务器
首先,确保你的包列表是最新的:
1 | bashsudo apt update |
然后安装MySQL服务器:
1 | bashsudo apt install mysql-server |
如果你需要安装特定版本的MySQL(例如8.0),可以使用以下命令:
1 | bashsudo apt install -y mysql-server-8.0 |
步骤2:检查MySQL服务状态并启用MySQL服务
检查MySQL服务是否正在运行:
1 | bashsudo systemctl status mysql |
确保MySQL服务在系统启动时自动启动:
1 | bashsudo systemctl enable mysql |
步骤3:运行安全安装脚本
MySQL提供了一个安全安装脚本,可以帮助你进行一些基本的安全配置。运行以下命令:
1 | bashsudo mysql_secure_installation |
在提示中,你将需要:
- 选择密码规则
- 删除匿名用户
- 禁用远程root登录
- 删除测试数据库和表
步骤4:修改MySQL配置文件以允许远程连接
打开MySQL配置文件mysqld.cnf
,通常位于/etc/mysql/mysql.conf.d/
目录中:
1 | bashsudo vim /etc/mysql/mysql.conf.d/mysqld.cnf |
找到以下行:
1 | Codebind-address = 127.0.0.1 |
将其注释掉或改为0.0.0.0
,使MySQL监听所有网络接口:
1 | Code# bind-address = 127.0.0.1 |
保存配置文件并退出编辑器。
步骤5:重启MySQL服务
重启MySQL服务以使更改生效:
1 | bashsudo systemctl restart mysql |
步骤6:创建可以远程访问的用户
登录到MySQL命令行:
1 | bashmysql -u root -p |
在MySQL提示符中运行以下命令,创建一个允许从任何IP地址连接的用户,并授予所有权限:
1 | sqlCREATE USER 'yourusername'@'%' IDENTIFIED BY 'yourpassword'; |
解释:
- GRANT ALL PRIVILEGES:授予用户所有权限,包括SELECT、INSERT、UPDATE、DELETE、CREATE、DROP等操作权限。
- ON:授予权限的范围。
*.*
表示所有数据库和所有表。 - TO:指定权限接收者。
'yourusername'
是用户名,'%'
是主机名通配符,表示允许从任何IP地址连接的用户。 - WITH GRANT OPTION:允许用户将他自己拥有的权限授予其他用户。
步骤7:配置防火墙
确保防火墙允许MySQL的默认端口3306的流量。如果使用的是UFW(Uncomplicated Firewall),可以运行以下命令:
1 | bashsudo ufw allow 3306 |
步骤8:验证远程连接
在远程机器上,使用MySQL客户端或其他工具连接到MySQL服务器:
1 | bashmysql -u yourusername -p -h your_server_ip |
其他操作
删除某些权限或用户
如果你想删除某些权限,或者从特定数据库中删除权限,可以使用REVOKE
命令。例如:
1 | sqlREVOKE ALL PRIVILEGES, GRANT OPTION FROM 'existinguser'@'%'; |
查看某个用户的当前权限
如果你想查看某个用户的当前权限,可以使用以下命令:
1 | sqlSHOW GRANTS FOR 'existinguser'@'%'; |
通过这些步骤,你可以在Ubuntu上成功安装和配置MySQL,并设置允许远程访问