MySQL 安装与配置

安装(以Ubuntu为例)

sudo apt update
sudo apt install mysql-server

设置MySQL访问密码

MySQL 8.0 默认使用auth_socket插件登录,需要修改为使用密码登录:

sudo mysql

-- 切换到MySQL命令行后执行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的强密码';
FLUSH PRIVILEGES;
EXIT;

修改MySQL配置(调整内存占用)

注意此处配置是当你服务器是小型的时候 此处使用1C1G的服务器作为示例

编辑配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

增加或修改如下配置【1C1G的服务器示例

[mysqld]
skip-name-resolve
key_buffer_size = 16M
innodb_buffer_pool_size = 128M
max_connections = 50
tmp_table_size = 16M
max_allowed_packet=16M
thread_cache_size = 8

保存并退出,重启MySQL服务

sudo systemctl restart mysql

通过IP+密码访问

默认情况下,MySQL只监听 127.0.0.1(localhost),只允许本地访问。

编辑MySQL配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address这一行,修改为:

bind-address = 0.0.0.0

这表示MySQL接受所有IP的连接请求。

创建远程访问用户并授权

登录MySQL:

sudo mysql -uroot -p

执行如下命令(以下假设你想创建用户名remoteuser,密码是yourpassword,允许从任意IP连接。如果你只想允许某个IP连接,替换%为指定IP):

CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

注意:只允许信任IP访问更安全,比如:

CREATE USER 'remoteuser'@'指定的IP地址' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'指定的IP地址' WITH GRANT OPTION;
FLUSH PRIVILEGES;

重启MySQL服务

sudo systemctl restart mysql

防火墙设置(可选)

如果你开启了ufw,允许MySQL默认端口 3306 访问:

sudo ufw allow from 客户端IP to any port 3306

或者开放3306端口(风险较大):

sudo ufw allow 3306

作者:admin  创建时间:2025-10-20 17:13
最后编辑:admin  更新时间:2025-10-20 17:13