进击的荆棘头像
MySQL——在ubuntu环境下安装MySQL封面图

MySQL——在ubuntu环境下安装MySQL

   💁‍♂️个人主页:进击的荆棘

👇作者其它专栏:

《数据结构与算法》《算法》《C++起始之路》《Linux》


目录

1.卸载不要的环境

2.检查系统安装包

3. 卸载这些默认安装包并备份

4. 获取 MySQL 官方源 

5. 安装源,对比前后源目录

6. 看看能不能正常工作

7. 安装 MySQL 服务

8. 查看配置文件和数据存储位置

9.启动服务&查看启动服务

10.登录与修改密码

11.设置开机启动

12.配置my.cnf(修改字符集等)

13.常见问题:密钥过期


说明:

●安装与卸载中,切换成root身份,一旦安装,普通用户能使用

1.卸载不要的环境

# 检查是否有 mariadb 或 mysql 进程
ps ajx | grep -E "mysql|mariadb"

# 停止服务(如果有)
sudo systemctl stop mariadb
sudo systemctl stop mysql

# 卸载默认安装包(彻底清理)
sudo apt purge mysql-server mysql-client mysql-common mariadb-server mariadb-client -y
sudo apt autoremove -y

2.检查系统安装包

dpkg -l | grep -i mysql
dpkg -l | grep -i mariadb

3. 卸载这些默认安装包并备份

# 备份配置文件和数据(对应文档的 /etc/my.cnf 和 /var/lib/mysql)
sudo tar -zcvf /root/mysql_backup.tar.gz /etc/mysql /var/lib/mysql

# 彻底删除目录(极其重要:如果不删干净,重装会报错)
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql

4. 获取 MySQL 官方源 

 注: 如果你的 Ubuntu 是 22.04 及以上,系统默认源里就有 MySQL 8.0/8.4,你可以直接跳过第4、5步去第6步

# 去官网下载最新的 apt-config 包
wget https://dev.mysql.com/get/mysql-apt-config_0.8.36-1_all.deb

5. 安装源,对比前后源目录

# 查看安装前
ls -al /etc/apt/sources.list.d/

# 安装配置包(注意:弹出的界面里选择需要的 MySQL 版本)
sudo dpkg -i mysql-apt-config_0.8.36-1_all.deb

# 更新源
sudo apt update

# 查看安装后,会多出一个 mysql.list
ls -al /etc/apt/sources.list.d/

6. 看看能不能正常工作

apt-cache search mysql-server

7. 安装 MySQL 服务

sudo apt install -y mysql-server

8. 查看配置文件和数据存储位置

配置文件在/etc/mysql/mysql.conf.d/mysqld.cnf,数据在/var/lib/mysql

ls /etc/mysql/mysql.conf.d/mysqld.cnf
sudo ls /var/lib/mysql

9.启动服务&查看启动服务

Ubuntu中MySQL的服务名通常叫mysql(不像CentOS叫mysqld)

# 启动
sudo systemctl start mysql

# 查看进程
ps axj | grep mysql

10.登录与修改密码

Ubuntu(MySQL 8.0+):默认使用auth_socket插件,root用户默认没有密码,且只允许系统root身份登录

登录方法一:

# 直接加 sudo 登录,不需要输入密码
sudo mysql

若想设置密码并允许密码登录:

进入sudo mysql后,执行以下SQL语句:

# 修改认证方式并设置密码(把 '你的密码' 换成实际密码)
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '你的密码';
FLUSH PRIVILEGES;
EXIT;

退出后,就可以用mysql -u root -p加密码登录了

登录方式三:

若在Ubuntu下忘记了密码,可以修改/etc/mysql/mysql.conf.d/mysql.cnf

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# 在 [mysqld] 下面加入一行:
skip-grant-tables
# 重启服务
sudo systemctl restart mysql
# 输入 mysql 即可免密进入,然后修改密码

11.设置开机启动

sudo systemctl enable mysql

12.配置my.cnf(修改字符集等)

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]标签下添加或修改:

[mysqld]
port = 3306
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
character-set-server = utf8mb4
default-storage-engine = innodb

13.常见问题:密钥过期

若在apt update时遇到MySQL的GPG错误:

# 导入最新的公钥(现代 Ubuntu 推荐方式)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C

若是非常新的系统,apt-key被弃用,可改用:

curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | sudo gpg --dearmor -o /usr/share/keyrings/mysql.gpg

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/2501_93697341/article/details/169267321

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--