本文目标
了解MySQL的二进制版本安装部署过程及注意事项
测试环境
虚拟机环境:VirtualBox 6.0.24
操作系统:Oracle Linux Server release 6.5 x86_64
MySQL版本:5.7.33
如何获取MySQL
通过官方推荐地址下载,地址链接为 https://dev.mysql.com/downloads/。
MySQL二进制版本安装过程
安装过程如下:
1、创建mysql用户及相关组
[root@rac02 ~]# groupadd mysql
[root@rac02 ~]# useradd -r -g mysql -s /bin/false mysql
2、解压缩mysql二进制安装包
[root@rac02 ~]# cd /usr/local
[root@rac02 local]# tar zxvf /opt/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
3、文件进行连接操作,便于操作
[root@rac02 local]# ln -s mysql-5.7.33-linux-glibc2.12-x86_64 mysql
4、创建存放数据库相关文件目录
[root@rac02 local]# cd mysql
##mysql-files可按需自定义,存放数据库相关文件
[root@rac02 mysql]# mkdir mysql-files
[root@rac02 mysql]# chown mysql:mysql mysql-files
[root@rac02 mysql]# chmod 750 mysql-files
5、mysql数据字典初始化
[root@rac02 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/mysql-files
#记录下临时密码
[Note] A temporary password is generated for root@localhost: 6Sla;4tdkCx#
6、生成SSL/RSA文件
[root@rac02 mysql]# bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/mysql-files
7、修改配置文件my.cnf
默认配置文件路径为/etc/my.cnf。
调整datadir、socket到自定义的目录中,并保证目录存在,如未调整需要按需创建相关需要的目录,其他参数暂时不调整,后续再做调整,此MySQL仅为测试使用。
生产环境建议按需进行调整,后续进行参数说明。
8、启动mysql服务
[root@rac02 mysql]# bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/mysql-files &
9、添加mysql到/etc/init.d/
[root@rac02 mysql]# cp support-files/mysql.server /etc/init.d/mysql
10、配置环境变量
在对应用户下修改环境变量配置文件,如我的测试环境下的.bash_profile
添加
export MYSQL_HOME=/usr/local/mysql/bin
export MYSQL_BASE=/usr/local/mysql
export PATH=$PATH:$HOME/bin:$MYSQL_HOME:/usr/local/bin/
11、登录mysql验证
[root@rac02 ~]# mysql -uroot -p
"ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"
登录失败,需要在配置文件中配置client对应的socket,与mysqld中自定义的socket保持一致
[mysqld]
datadir=/usr/local/mysql/mysql-files
socket=/usr/local/mysql/mysql-files/mysql.sock
user=mysql
[client]
socket=/usr/local/mysql/mysql-files/mysql.sock
12、修改临时密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
Query OK, 0 rows affected (0.00 sec)