安装流程

1、通过apt包直接安装或下载压缩包解压安装

我这里使用的是apt包
sudo apt install -y mysql-server

2、停止mysql

安装完成后,系统会默认创建对应的配置文件,并自动启动redis,这时候需要先将mysql停止,做对应配置

sudo systemctl stop mysql;

3、修改配置文件mysqld.cnf

地址默认是/etc/mysql/mysql.conf.d/mysqld.cnf

为什么是修改这个路径的mysqld.cnf

MySQL 在启动时会按顺序加载多个配置文件,后面的文件会覆盖前面的设置。

执行命令可以看到实际顺序:

mysqld --verbose --help | grep -A 1 "Default options"

输出:

Default options are read from the following files in the given order:
/etc/mysql/my.cnf
/etc/mysql/conf.d/*.cnf
/etc/mysql/mysql.conf.d/*.cnf

各个目录的作用:

文件或目录 作用说明
/etc/mysql/my.cnf 主入口配置文件(不要直接改)它只是用来 !includedir 引入其他目录。
/etc/mysql/conf.d/*.cnf 用于存放通用配置(客户端、mysqldump 等),例如 client.cnf、mysql.cnf
/etc/mysql/mysql.conf.d/*.cnf 专门存放服务端(mysqld)的配置,比如 mysqld.cnf
/etc/mysql/mariadb.conf.d/ MariaDB 才有(MySQL 没有),存放类似用途的配置。

所以mysql服务端启动时只会从 /etc/mysql/mysql.conf.d/下读取mysqld.cnf,
/etc/mysql/mysql.cnf/etc/mysql/conf.d/mysql.cnf一般是客户端配置(mysql 命令行工具用的),改了也不会影响服务端。

启动

sudo systemctl start mysql;

启动问题

权限问题

如果修改了mysql的数据目录或者配置文件的权限,记得及时配置权限
如:

sudo chown -R mysql:mysql /mnt/data/mysql
sudo chmod 750 /mnt/data/mysql

修改数据目录的方式
情况1:重新初始化一个全新的mysql实例

sudo rm -rf /mnt/data/mysql/data/*
sudo mysqld --initialize --user=mysql --datadir=/mnt/data/mysql/data


---查找密码:
sudo cat /mnt/data/mysql/data/*.err
查找包含:A temporary password is generated for root@localhost: xxxx

情况2、迁移旧数据到新目录(不要执行initialize)

sudo rsync -av /var/lib/mysql/ /mnt/data/mysql/data/
sudo chown -R mysql:mysql /mnt/data/mysql

如遇到启动失败问题无法解决,建议使用手动启动打印日志来确认具体问题。

sudo mysqld --user=mysql --console
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐