Linux系统下安装MySQL主要通过包管理器或手动二进制安装,以下是常见发行版的操作:
sudo apt-get update
sudo apt-get install mysql-server
安装完成后,MySQL服务会自动启动。wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm
安装MySQL服务器并启动:sudo yum install mysql-community-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld
mysql-8.0.20-linux-glibc2.12-x86_64.tar.gz),解压至目标目录(如/opt/mysql),创建MySQL用户和数据目录,配置my.cnf文件(指定basedir、datadir等参数),初始化数据库(mysqld --initialize --user=mysql),最后启动服务(/opt/mysql/bin/mysqld_safe --user=mysql &)。sudo mysql_secure_installation设置root密码、删除匿名用户、禁止root远程登录、删除测试数据库。/etc/my.cnf(或/etc/mysql/my.cnf),添加以下关键配置:[mysqld]
character-set-server = utf8mb4 # 支持完整的Unicode字符
collation-server = utf8mb4_unicode_ci
innodb_buffer_pool_size = 1G # InnoDB缓冲池大小(建议为物理内存的50%-70%)
max_connections = 200 # 最大连接数(根据服务器资源调整)
innodb_log_file_size = 256M # InnoDB重做日志大小(提升写入性能)
CREATE USER 'dev_user'@'%' IDENTIFIED BY 'SecurePassword123!';
GRANT ALL PRIVILEGES ON your_database.* TO 'dev_user'@'%';
FLUSH PRIVILEGES;
同时,开放防火墙端口(如CentOS):sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
掌握以下常用命令,满足日常开发需求:
mysql -u root -p # 本地连接(输入密码)
mysql -h 192.168.1.100 -u dev_user -p # 远程连接(替换IP和用户名)
SHOW DATABASES; -- 查看所有数据库
CREATE DATABASE project_db; -- 创建数据库
USE project_db; -- 切换数据库
DROP DATABASE project_db; -- 删除数据库(谨慎使用)
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100)); -- 创建表
DESCRIBE users; -- 查看表结构
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com'); -- 插入数据
SELECT * FROM users; -- 查询数据
UPDATE users SET email = 'new_email@example.com' WHERE name = 'Alice'; -- 更新数据
DELETE FROM users WHERE name = 'Alice'; -- 删除数据
DROP TABLE users; -- 删除表
EXPLAIN分析查询计划,避免全表扫描。SELECT *(只查询所需列),用JOIN替代子查询,合理使用LIMIT分页。innodb_buffer_pool_size(InnoDB缓冲池)、max_connections(最大连接数)、innodb_log_file_size(重做日志大小),禁用不必要的功能(如MySQL 8.0及以上版本的query_cache)。OPTIMIZE TABLE整理表碎片,定期清理无用数据,备份重要数据库。SELECT、INSERT权限),避免使用root账户进行日常操作。mysqldump备份数据库(如每日增量备份、每周全量备份),将备份文件存储在异地或云存储中,防止数据丢失。mysql(官方客户端),适合习惯命令行的开发者,支持所有SQL操作。