MySQL的安装和配置
下载MySQL Linux 软件包后,使用以下命令安装:
在RPM 系统上:rpm -ivh packagename.rpm
在APT 系统上:dpkg -i packagename.deb
以正确的顺序安装MySQL 包例如,在安装client或server之前先要安装libs包
在Linux系统中安装和配置MySQL的步骤如下(以常见发行版为例):
1. 安装MySQL
添加MySQL官方Yum仓库(以MySQL 8.0为例)
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安装MySQL服务器
sudo yum install mysql-community-server
启动MySQL服务
sudo systemctl start mysqld
设置开机自启
sudo systemctl enable mysqld
2. 运行安全配置脚本
首次安装后需初始化安全设置:
sudo mysql_secure_installation
按提示完成以下配置:
1. 设置root用户密码。
2. 移除匿名用户。
3. 禁止远程root登录。
4. 删除测试数据库。
5. 重新加载权限表。
3. 配置MySQL
修改配置文件
配置文件路径通常为 `/etc/mysql/my.cnf` 或 `/etc/my.cnf`。
常见配置项:
[mysqld]
# 绑定IP(允许远程访问时设置为 0.0.0.0)
bind-address = 0.0.0.0
# 字符集配置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 其他性能参数
max_connections = 200
innodb_buffer_pool_size = 1G
修改后重启服务:
sudo systemctl restart mysql # Ubuntu
sudo systemctl restart mysqld # CentOS
4. 创建数据库和用户
# 登录MySQL
mysql -u root -p
-- 创建数据库
CREATE DATABASE mydb;
-- 创建用户并授予权限
CREATE USER 'myuser'@'%' IDENTIFIED BY 'StrongPassword!';
-- 授予权限(示例:授予mydb的所有权限)
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出
EXIT;
5. 防火墙配置(如需远程访问)
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
6. 验证连接
# 本地连接测试
mysql -u myuser -p -h 127.0.0.1
# 远程连接测试(从其他机器)
mysql -u myuser -p -h <MySQL服务器IP>
7. 常见问题
- 忘记root密码:
1. 停止MySQL服务。
2. 在配置文件中添加 `skip-grant-tables`。
3. 重启服务并登录重置密码。
4. 移除配置项并重启服务。
- 无法远程连接:
1. 检查防火墙是否开放3306端口。
2. 确保用户权限允许远程访问(如 `'myuser'@'%'`)。
3. 确认MySQL绑定的IP不是 `127.0.0.1`。
8. 备份与恢复
# 备份数据库
mysqldump -u root -p --all-databases > backup.sql
# 恢复数据库
mysql -u root -p < backup.sql