Linux-修改线上MariaDB服务端口号
准备工作(很重要!!!):
- 提前做好Linux服务器快照
- 提前做好数据库数据备份
1. 修改配置文件
首先,我们需要找到MariaDB的配置文件。通常情况下,这个文件位于以下位置:
- Linux系统:
/etc/my.cnf
或/etc/mysql/my.cnf
在配置文件中,找到 [mysqld]
部分并进行以下修改:
[mysqld]
port = 13306 # 将端口修改为非标准端口,例如13306
2. 重启MariaDB服务
修改配置文件后,需要重启MariaDB服务以使更改生效。
- Linux系统:
systemctl restart mariadb
#我的是systemctl restart mysqld
3. 验证端口号更改
在更改端口号后,可以通过以下命令验证端口号是否正确更改:
ss -ltnp | grep 13306 # Linux系统
如果端口号更改成功,上述命令将显示MariaDB服务正在监听13306端口。
4. 更改防火墙设置
如果您在Linux系统上运行MariaDB,并且启用了防火墙,您需要将新的端口号添加到防火墙的例外列表中。以下是添加端口的命令:
firewall-cmd --zone=public --add-port=13306/tcp
firewall-cmd --reload
5. 更改客户端连接设置
在连接到更改端口号的MariaDB服务器时,需要在客户端的连接命令中指定端口号:
mysql -h 主机名 -P 13306 -u 用户名 -p 密码
#如果本机:mysql -uroot -p密码
注意事项
- 在修改端口号时,请确保选择一个未被其他服务使用的端口号。且开通了网闸和暴露了端口
- 修改端口号后,确保所有连接到MariaDB的客户端程序都更新了连接信息。
遇到的问题
1.ERROR 2002 (HY000): Can't connect to local server through socket '/var/lib/mysql/mysql.sock'
1.1. 查找mysql.sock 文件并创建软链接
find / -name mysql.sock
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
1.2. 修改 MySQL 配置文件
如果找不到 mysql.sock 文件,可以修改 MySQL 的配置文件 my.cnf
vi /etc/my.cnf
#在 [mysqld] 部分添加或修改以下内容:
socket = /var/lib/mysql/mysql.sock
保存并退出。
1.3. 重启 MySQL 服务
systemctl restart mysqld
2.mysql启动报错
2.1. 查看日志:tail -200f /home/data/mariadb/logs/mysqld.log
报错信息:mysql报错Do you already have another mysqld server running on socket,如下图:
发现问题出在/tmp/mysql.sock
2.2. 检查/etc/my.cnf下mysql配置文件确认sock文件在tmp下
2.3. 检查该路径发现tmp路径属于root
ll /tmp/mysql.sock
2.4. 将该路径分配给mysql用户重启mysql,问题解决
chown -R mysql.mysql /tmp/mysql.sock
出现如下内容表示mariadb启动成功 :
或者用systemctl status mysqld 或 ss -ltnp | grep 13306