之前曾在服务器上安装配置过MariaDB,毕竟MySQL作为Oracle的产品随时存在闭源的风险,Red Hat Enterprise Linux / CentOS 7.0从支持MySQL切换到MariaDB作为默认数据库管理系统。其中MariaDB的默认配置文件位置在 /etc/my.cnf
。
下面主要就是记录一下安装配置过程以及遇到的一些坑。
准备条件
- 服务器 : CentOS Linux release 7.3.1611
- MySQL安装包 : mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
安装配置
我是把安装包下载到 /root
目录下的。
1. 解压:[root@VM_16_16_centos ~]#
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
2. 更名:[root@VM_16_16_centos ~]#
mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql
3. 将解压后的文件夹即 mysql
移动到 /opt/
目录下:官方建议解压后的文件放置在 /usr/local
下,然后现在新版的Linux是建议第三方软件放在/opt
下,两者都可以。但我是放在 /opt
目录下的,毕竟这是第三方软件,不是系统自带的。[root@VM_16_16_centos ~]#
mv mysql /opt/
4. 添加用户:当时我并没有添加用户,随后就遇到了一些坑。该添加的用户是用来运行 mysqld
命令的。
- 切换到 /opt
目录:[root@VM_16_16_centos ~]#
cd /opt/</font>
[root@VM_16_16_centos opt]#
- 创建用户组:<font color="lightgreen">groupadd mysql</font>
mysql
- 向用户组中添加
mysql用户:由于该用户只是为了所有权的目的,没有登录的目的。因此创建的该用户没有登录服务器的权限。
[root@VM_16_16_centos opt]#<font color="lightgreen">useradd -r -g mysql -s /bin/false mysql
mysql_install_db
</font>
5. 安装数据库:在新版的数据库中命令已被deprecated,所以我们使用
mysqld命令。
bin
- 切换到目录:
[root@VM_16_16_centos opt]#<font color="lightgreen">cd mysql/bin/</font>
/data/mysql
- 初始化安装:我是把数据文件放在目录下的,所以
[root@VM_16_16_centos bin]#<font color="lightgreen">mkdir -p /data/mysql</font>,然后运行
[root@VM_16_16_centos bin]#` ./mysqld –initialize –user=mysql –basedir=/opt/mysql/ –datadir=/data/mysql/
结果如下:
初始密码为: lFDklwoy+3lh
自从5.7.18后开始不在二进制包中提供
my-default.cnf
文件,不需要该配置文件也能正常运行。将
mysql.server
拷贝到系统服务中并重命名为mysqld
:[root@VM_16_16_centos bin]#
cp ../support-files/mysql.server /etc/init.d/mysqld。如果你这时候运行
/etc/init.d/mysqld start
命令的话,会报如下的错:
这时候需要我们vim /etc/init.d/mysqld
,如图所示:
如果这个时候运行
/etc/init.d/mysqld start
仍然报错的话,如下图所示:
那么就是/etc/my.cnf
这个配置文件在捣鬼了。我们将它重命名为/etc/my.cnf.back.old
:[root@VM_16_16_centos bin]#
mv /etc/my.cnf /etc/my.cnf.back.old再次输入
/etc/init.d/mysqld start
就能成功启动数据库服务器了。最后我们来配置一下环境变量:
12. 大功告成了,这其中遇到了不少的坑,在此记录一下!