ubuntu安装mysql8指定数据目录
背景
Ubuntu 22.04.3 LTS
安装步骤
-
更新到最新版本
sudo apt update
-
添加 MySQL APT 仓库
执行命令期间需要按回车键,控制台提示
Press [ENTER] to continue or Ctrl-c to cancel.
sudo apt install software-properties-common -y sudo add-apt-repository universe sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://repo.mysql.com/mysql-8.0/ubuntu $(lsb_release -cs) universe'
-
安装 MySQL
在安装过程中,系统会提示你设置 root 用户的密码。
# 安装
sudo apt install mysql-server -y
# 安装完成后可能会启动mysql。需要先停止
sudo systemctl stop mysql
- 配置数据挂载目录
新目录为/data/mysqldata
-
新建数据目录
sudo mkdir /data/mysqldata sudo chown -R mysql:mysql /data/mysqldata sudo chmod 755 /data/mysqldata
-
将文件copy(MySQL 默认的数据目录位于
/var/lib/mysql
)cp -arp /var/lib/mysql/* /data/mysqldata
-
修改配置
# 编辑配置文件 vim /etc/mysql/mysql.conf.d/mysqld.cnf # 修改指定选项(注意备份) datadir=/data/mysqldata # 修改配置文件 sudo vim /etc/apparmor.d/usr.sbin.mysqld # 修改指定选项(注意备份) # Allow data dir access /data/mysqldata/ r, /data/mysqldata/** rwk, # 重启apparmor服务 sudo service apparmor restart
-
启动 MySQL
sudo systemctl start mysql sudo systemctl enable mysql
-
验证 MySQL 安装
# 默认没有密码(直接回车) mysql -u root -p SHOW VARIABLES LIKE 'datadir';
注意:
- 在更改数据目录之前,请确保 MySQL 服务没有运行,以避免数据损坏。
- 如果你更改了数据目录,可能需要在启动 MySQL 时指定新的数据目录位置。
- 确保 MySQL 用户对新的数据目录有读写权限。
- 如果你遇到权限问题,可能需要检查 SELinux 或 AppArmor 的配置。
修改root用户
生产环境不建议此项。不建议将root暴露
mysql -u root -p
# 使用mysql库
use mysql;
# 修改root登陆主机为%
update user set host = '%' where user ='root';
# 修改root密码插件
UPDATE user SET plugin='caching_sha2_password' WHERE User='root';
# 刷新权限
flush privileges;
# 修改root密码
ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY '我是密码';
# 刷新权限
flush privileges;
查询用户
select host, user, authentication_string, plugin from user;