ubuntu安装mysql及对应问题解决
MySQL 在启动时会按顺序加载多个配置文件,后面的文件会覆盖前面的设置。
·
安装流程
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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)