Ubuntu 22.04上重新安装MySQL的完整步骤


1. 首先彻底清理系统中已安装的MySQL:


# 停止MySQL服务
sudo systemctl stop mysql

# 卸载MySQL软件包
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*

# 删除MySQL配置和数据文件
sudo rm -rf /etc/mysql /var/lib/mysql
sudo rm -rf /var/log/mysql
sudo rm -rf /var/log/mysql.*
sudo rm -rf /var/lib/mysql-files

# 清理依赖包
sudo apt autoremove
sudo apt autoclean


2. 清理残留配置


# 检查并删除残留的MySQL相关文件
sudo find / -name "*mysql*" -type f 2>/dev/null

# 清理APT缓存
sudo apt update


3. 重新安装MySQL


# 更新软件包列表
sudo apt update

# 安装MySQL服务器
sudo apt install mysql-server

# 启动MySQL服务
sudo systemctl start mysql
sudo systemctl enable mysql


4. 安全配置MySQL


sudo mysql_secure_installation

按照提示完成以下安全设置:

    1.设置root密码
    2.移除匿名用户
    3.禁止root远程登录
    4.删除测试数据库
    5.重新加载权限表


5. 验证安装


# 检查MySQL服务状态
sudo systemctl status mysql

# 登录MySQL
sudo mysql -u root -p

# 在MySQL中查看版本信息
SELECT VERSION();


6. 配置远程访问(可选)


-- 创建远程访问用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;


7. Ubuntu系统修改mysql datadir除了my.cnf文件(权限等)外, 还要配置AppArmor权限‌

    此外: 修改了 datadir 目录后, 当目录内容为空, 启动是失败的,这样要把原来目录的文件复制过来(重要!!!).

# 复制所有文件(保留权限、属性)
sudo rsync -av /var/lib/mysql/ /data/mysql/

# 或使用 cp(但需加 -a 保留属性)
# sudo cp -a /var/lib/mysql/* /data/mysql/


编辑 /etc/apparmor.d/usr.sbin.mysqld,将:
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

修改为(或在后面添加):

/data/mysql/ r,
/data/mysql/** rwk,

编辑 /etc/apparmor.d/abstractions/mysql,将:

/var/lib/mysql{,d}/mysql{,d}.sock rw
修改为(或在后面添加):
/data/mysql{,d}/mysql{,d}.sock rw

重启相关服务‌

sudo service apparmor restart
sudo systemctl start mysql


配置完成后,可以通过以下命令验证:


mysql -u root -p -e "SHOW GLOBAL VARIABLES LIKE 'datadir';"


白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论