下面按**常见 Linux 发行版(CentOS / Ubuntu)**给你一个从安装到基本配置的完整说明。
sudo apt update
sudo apt install mysql-server
安装完成后:
sudo systemctl status mysql
sudo yum install mysql-server
# 或
sudo dnf install mysql-server
启动并设置开机自启:
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation
sudo mysql_secure_installation
会提示你设置 root 密码、移除匿名用户、禁止远程 root 登录等。
mysql -u root -p
如果是 Ubuntu 且未设密码:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
CREATE DATABASE testdb CHARACTER SET utf8mb4;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
编辑配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 或 CentOS
sudo vim /etc/my.cnf
修改:
bind-address = 0.0.0.0
授权远程用户:
CREATE USER 'testuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%';
FLUSH PRIVILEGES;
重启 MySQL:
sudo systemctl restart mysql
⚠️ 生产环境不建议直接开放 root 远程登录。
/etc/mysql/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf常见参数示例:
[mysqld]
character-set-server=utf8mb4
max_connections=200
修改后重启:
sudo systemctl restart mysql
sudo ufw allow 3306
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
sudo systemctl stop mysql
sudo mysqld_safe --skip-grant-tables &
然后无密码登录修改密码。
systemctl status mysql
如果你能告诉我:
我可以给你更精准的配置方案。