安装环境:CentOS Linux release 7.9
其实无法直接将mysql软件安装到ssd上,最终目的实际是让mysql的数据存储在SSD上
1.将SSD格式化为文件系统
mkfs -t ext4 /dev/nvme0n1
2.创建目录/snvme0
mkdir /snvme0
3.将目录/snvme0 挂在至格式化后的SSD上
mount /dev/nvme0n1 /snvme0/
4.安装mysql的依赖包:
yum -y install libaio
yum -y install numactl
5.检查是否有mysql用户
id mysql
没有的话就创建一个:
groupadd mysql
useradd -r -g mysql mysql
6.下载mysql的包到/snvme0目录下
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
7.在/snvme0目录下解压并修改解压后的目录名
tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql
8.在/snvme0目录中创建data,log,tmp目录
mkdir -p {data,log,tmp}
9.给/snvme0/mysql赋予权限
chown -R mysql:mysql /snvme0/mysql
10.修改配置文件/etc/my.cnf,如果没有自己创建
内容可如下:重点修改以下倾斜字体的路径
[mysqld]
#user=mysql
port=3306
basedir=/snvme0/mysql
datadir=/snvme0/mysql/data
socket=/snvme0/mysql/mysql.sock
tmpdir=/snvme0/mysql/tmp
#数据库默认字符集编码 urf8 国内通常为 utf8mb4_general_ci
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init-connect=‘SET NAMES utf8mb4’
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
skip-grant-tables #免密登录mysql
plugin-load-add=validate_password.so #在mysql启动时载入插件
validate-password=FORCE_PLUS_PERMANENT #为阻止该插件在运行时被删除,设置为永久强制使用
#弱密码策略永久生效
validate_password_length=6
validate_password_policy=0
explicit_defaults_for_timestamp=true
[mysqld_safe]
#mysqld 日志
log-error=/snvme0/mysql/log/mysqld.log
pid-file=/snvme0/mysql/mysqld.pid
[mysql]
#设置mysql客户端默认字符集utf8
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
socket=/snvme0/mysql/mysql.sock
default-character-set=utf8mb4
11.在/snvme0/mysql,目录下初始化数据库
./bin/mysqld --user=mysql --initialize --basedir=/snvme0/mysql --datadir=/snvme0/mysql/data
12.配置mysql服务
cd /snvme/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
13.修改配置文件/etc/init.d/mysqld
将原本图中红线标识部分
路径根据自己mysql安装路径进行修改,增加–user=root更改后如下所示:
14.还原权限,在/snvme0/mysql目录下,除了data、tmp、log目录为mysql: mysql, 其余权限为root:root
chown -R root:root bin docs include lib man share support-files
15.增加软链接,防止找不到mysql
ln -s /snvme0/mysql/bin/mysql /usr/bin
16.启动mysql服务
service mysqld start
打印success,启动成功
17.登录mysql数据库,直接执行mysql就可以登录,不需要密码,因为在第10步中配置文件里加了skip-grant-tables参数
18.检查mysql数据存储的目录是否为挂载在格式化后的SSD目录 /snvme0上
select @@datadir;