下面是“Linux下mysql5.7部署及远程访问配置”的完整攻略,分为以下几个步骤。
1. 安装MySQL 5.7
在Linux下安装MySQL 5.7,可以通过官方源或第三方源。以CentOS 7为例,使用的是官方源,安装步骤如下:
# 进入root用户
sudo su
# 下载mysql源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 安装mysql源
yum localinstall mysql80-community-release-el7-3.noarch.rpm
# 安装mysql服务
yum install mysql-server
# 启动mysql服务
systemctl start mysqld
# 查看mysql服务状态
systemctl status mysqld
# 自启动mysql服务
systemctl enable mysqld
2. 配置MySQL 5.7
MySQL 5.7安装完成后,需要进行一些基本配置。主要包括修改root用户密码,设置远程访问权限等。
2.1 修改root用户密码
默认安装的MySQL 5.7版本root用户没有密码,需要修改。修改步骤如下:
# 通过安全模式修改root密码
# 停止mysql服务
systemctl stop mysqld
# 启动mysql服务,并跳过权限检查
mysqld_safe --skip-grant-tables &
# 登录mysql
mysql -uroot
# 切换到mysql库
use mysql;
# 修改root密码
update user set authentication_string=password('your_new_password') where user='root';
# 刷新权限
flush privileges;
# 退出mysql
exit;
# 停止mysql服务
killall mysqld_safe
2.2 设置远程访问权限
默认情况下,MySQL 5.7只允许本地IP访问。如果需要设置远程访问权限,需要进行一些配置。
2.2.1 开放端口
如果MySQL 5.7所在的服务器上有防火墙,需要开放3306端口(默认MySQL端口),如下:
# 检查当前防火墙规则
firewall-cmd --list-all
# 开放3306端口
firewall-cmd --add-port=3306/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
2.2.2 修改bind-address
修改MySQL配置文件/etc/my.cnf
,找到[mysqld]
节点,修改bind-address
值为0.0.0.0
或服务器公网IP地址,如下:
[mysqld]
bind-address=0.0.0.0
2.2.3 创建远程访问用户并授权
远程访问MySQL时需要使用一个具有远程访问权限的用户。创建用户并授权的步骤如下:
# 登录mysql
mysql -uroot -p
# 创建用户,并设置密码
create user 'your_username'@'%' identified by 'your_password';
# 授权该用户拥有所有数据库的所有权限
grant all on *.* to 'your_username'@'%';
# 刷新权限
flush privileges;
# 退出mysql
exit;
3. 示例说明
3.1 在本地使用命令行连接MySQL 5.7
如果想在本地连接MySQL 5.7,需要在本地安装MySQL客户端。以Ubuntu 20.04为例,安装步骤如下:
# 安装mysql客户端
sudo apt install mysql-client-core-8.0
安装完成后,通过下面的命令连接MySQL 5.7,需要将IP地址和端口号替换为实际的值。
mysql -h your_mysql_ip -u your_username -p -P your_mysql_port
3.2 在Python中连接MySQL 5.7
Python中操作MySQL需要安装Python MySQL Connector。以Python 3为例,安装步骤如下:
pip3 install mysql-connector-python
安装完成后,可以使用以下Python代码连接MySQL 5.7,需要将IP地址、端口号、用户名和密码替换为实际的值。
import mysql.connector
# 连接mysql
mydb = mysql.connector.connect(
host="your_mysql_ip",
port="your_mysql_port",
user="your_username",
password="your_password"
)
# 输出连接成功
print(mydb)
这就是“Linux下mysql5.7部署及远程访问配置”的完整攻略了。