注:该文档比较潦草,可能仅适合作者本人阅读。
0.前言
使用mysql自带的mysql_install_db命令这种安装方式可以在特殊情况下有大用,如果当前网络环境内至少有一个mysql实例,他甚至不需要去网络上下载任何安装包,仅凭这一个实例的文件就可以安装无数个mysql。
此外,他可能依赖于numactl
,请使用yum命令安装它。yum install numactl -y
如果网络内缺乏yum源,请点击此处查看yum相关文档或自行百度。
1.准备配置文件
将下载好的压缩包上传到服务器,先编辑配置文件,将重要的初始化参数配置好。
my.cnf的主要配置如下:
[mysqld]
user = mysql
port = 6033
socket = /opt/mysql_6033/mysql_6033.sock
pid_file = /opt/mysql_6033/mysql.pid
basedir = /opt/mysql_6033
datadir = /data/mysql_data/data
log_error = /data/mysql_data/logs/error.log
#以下是非必须项
lower_case_table_names = 1
default-time_zone = '+8:00'
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
max_allowed_packet = 1G
log_bin = /data/mysql_data/binlog/mysql-bin
relay_log = /data/mysql_data/relaylog/relay-bin
server_id = 1000
sync_binlog = 1
2.按照配置文件创建路径并授权
将上面配置文件中的同类别路径授权,如/opt/mysql_6033,/data/mysql_data等,均使用chown -R mysql:mysql 命令授权
3.安装数据库
然后进入basedir
,使用user
配置项的mysql用户执行下面命令:
[mysql@hadoop101 bin]$ ./mysql_install_db --defaults-file=/opt/mysql_6033/conf/mysql_6033.cnf --datadir=/data/mysql_data/data --user=mysql
有任何报错都会在终端输出,如果报错信息不够详细,请观察log_error
文件。
数据库初始化成功之后在datadir
下会有初始的数据库文件夹。
初始数据库文件夹.png
4.启动数据库
然后进入basedir
,启动mysql数据库
[mysql@hadoop101 bin]$ ./mysqld_safe --defaults-file=/opt/mysql_6033/conf/mysql_6033.cnf --user=mysql &
5.修改初始密码
该步骤是必须的,刚刚初始化的数据库即便登录也无法做任何事情。
但这里有个关键点,使用mysql_install_db安装数据库实例的话,初始root密码不会保存在log_error
文件中,而是保存在mysql安装用户的家目录下,文件名叫.mysql_secret
,是一个隐藏文件,需要ls -a
命令才可看到。
使用命令查看root初始密码
[root@hadoop101 mysql]# cat .mysql_secret
# Password set for user 'root@localhost' at 2022-05-06 13:48:40
9DJdwC8?Lo5O
修改密码
[mysql@hadoop101 bin]$ ./mysqladmin -u root -S /opt/mysql_6033/mysql_6033.sock -p password '0o0@O0O!'