Files
chill_notes/Linux/AliYun/阿里云管理MySQL.md
2026-04-21 20:34:54 +08:00

2.9 KiB
Executable File
Raw Blame History

阿里云管理 MySQL

Ubuntu MySQL 安装与配置


MySQL 目录布局

路径 说明
/usr/bin 客户端程序
/var/lib/mysql 数据库和日志文件
/var/run/mysqld 服务器 PID
/etc/mysql 配置文件
/usr/share/mysql 字符集、错误消息
/etc/init.d/mysql 启动脚本

基础命令

# 启动/停止/重启
sudo systemctl start mysql
sudo systemctl stop mysql
sudo systemctl restart mysql

# 检查状态
sudo systemctl status mysql

# 开机自启
sudo systemctl enable mysql

移动数据目录

/var/lib/mysql 移动到 /home/data/mysql

1. 创建目标目录

cd /home
sudo mkdir -p data

2. 停止 MySQL

sudo systemctl stop mysql

3. 移动数据

sudo mv /var/lib/mysql /home/data/mysql

4. 修改配置文件

sudo vim /etc/mysql/my.cnf
[mysqld]
datadir = /home/data/mysql
socket = /home/data/mysql/mysql.sock

5. 修改启动脚本

sudo vim /etc/init.d/mysql

找到 datadir=/var/lib/mysql 改为 datadir=/home/data/mysql

6. 重启 MySQL

sudo systemctl restart mysql

配置 InnoDB 存储引擎

sudo vim /etc/mysql/my.cnf

[mysqld] 下添加:

default-storage-engine = INNODB

重启 MySQL

sudo systemctl restart mysql

验证:

SHOW ENGINES;

大小写敏感配置

sudo vim /etc/mysql/my.cnf

[mysqld] 下添加:

# 0 = 区分大小写
# 1 = 不区分大小写
lower_case_table_names = 1

重启 MySQL 生效。


常用管理操作

连接 MySQL

mysql -u root -p

常用 SQL

-- 查看数据库
SHOW DATABASES;

-- 创建数据库
CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 选择数据库
USE dbname;

-- 查看用户
SELECT user, host FROM mysql.user;

-- 创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

-- 授权
GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';
FLUSH PRIVILEGES;

卸载 MySQL

# Ubuntu
sudo apt-get autoremove --purge mysql-server
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common

# 清理残留
dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg -P

重置 root 密码

# 1. 停止 MySQL
sudo systemctl stop mysql

# 2. 安全模式启动
sudo mysqld_safe --skip-grant-tables &

# 3. 无密码登录
mysql -u root

# 4. 修改密码
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
EXIT;

# 5. 重启
sudo systemctl restart mysql

备份与恢复

# 备份
mysqldump -u root -p dbname > backup.sql

# 恢复
mysql -u root -p dbname < backup.sql

💡 提示:定期备份数据库,使用 mysqldump