一、yum源安装MySQL和开启设置服务
首先,我们来看看使用yum源安装MySQL的优缺点:
优点:安装方便快捷,安装方式简单
缺点:太过于死板,定死了各个文件的位置
1、打开官方网站,上边有各种版本的yum源,找到自己想要的版本设置yum源
官网:https://downloads.mariadb.org/mariadb/repositories/
2、如果我们使用官网上的版本,就要按照官网的提示来配置我们的yum源。
vim /etc/yum.repos.d/mariadb.repo
# MariaDB 10.6 CentOS repository list - created 2021-12-25 06:59 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.6/centos7-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
编辑好yum源以后,记得使用"yum clean all"清除缓存
。
3、yum安装和开启服务
yum install MariaDB-server MariaDB-client -y //安装mariadb
systemctl start mariadb //开启服务
ss -nutl //查看服务端口开启状态
查询端口对应的进程信息 lsof -i :3306 或 netstat -tnlp | grep 3306
4、执行"mysql"命令来运行数据库
首先我们将用户切换至任一普通用户:su - keer
然后执行"mysql"命令来运行数据库:
我们可以看出,我们可以匿名登录,而且即使我们切换成了普通用户,我们运行数据库以后,依然默认是root登录,可以对数据库进行查看以及删除等操作,这样无疑是很不安全的,所以就需要进行我们的下一步操作:
5、初始化数据库
/usr/bin/mariadb-secure-installation
运行过安全脚本以后,我们在用普通用户来登录试试看:
我们再来使用root登录一次,命令为:
mysql -u root -p (passwd) 密码可以直接加在后面,也可以运行后再输入
我们可以看出,这样就可以登录至数据库了,以后我们还可以创建其他账户来登录,我们的安全机制已经实现!
二、安装包安装mariadb
1、rpm -qi mariadb 可以查询官网
去官网下载自己想要的版本 http://mariadb.org
在虚拟机中把下好的包上传(rz),并对其进行解包解压缩:
tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/
(不像编译安装一样,解包可以放在任何目录,这个二进制安装必须指定在这个目录)
解压的过程略久,大家耐心等待~
2、去查看文件
cd /usr/local/ 进入解开压缩包的目录,发现mariadb的目录名字不符合要求,所以我们可以直接修改名字,也可以创建一个软连接,创建软连接命令如下:
ln -s mariadb-10.2.8-linux-x86_64/ mysql
3、创建mysql用户(很重要!一定不能忘!)
useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql
4、创建修改配置文件
进入mysql文件夹,查看support-files文件夹中的内容,发现里面有我们的配置文件,但是配置文件不应该在这个目录下,应该放在/etc/mysql/下,所以,我们要创建这个目录,并把配置文件复制进去,具体的操作如下:
[root@centos7 local]# cd mysql/
[root@centos7 mysql]# ls
[root@centos7 mysql]# ls support-files/
[root@centos7 mysql]# mkdir /etc/mysql
[root@centos7 mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf
接下来我们来修改配置文件:
vim /etc/mysql/my.cnf
[mysqld]
datadir = /app/mysqldb //指定总目录,必须的
innodb_file_per_table = on //让每一个表数据库都是一个文件,方便管理
skip_name_resolve = on //忽略名字的反向解析,加快速度
5、执行脚本,创建系统数据库
cd /usr/local/mysql 一定要在这个目录下执行脚本,因为脚本写死了
./scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb 执行脚本
完成后就会在/app/mysqldb/ 生成mysql系统数据库
6、把服务脚本复制过去
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld 设置服务在哪个运行级别
设置完毕后,我们开启服务:
开启服务失败,我们通过提示的命令来查看失败原因:
systemctl status mysqld.service
journalctl -xe
查看过后发现,是因为我们缺少日志文件,而且这个日志文件须有读写权限,接下来我们就来创建:
mkdir /var/log/mariadb/
touch /var/log/mariadb/mariadb.log
chown mysql /var/log/mariadb/mariadb.log
创建完文件以后,我们再来开启一次试试看:
服务开启成功
[root@centos7 mysql]# vim /etc/profile.d/mysql.sh
PATH=/usr/local/mysql/bin:$PATH
[root@centos7 mysql]# . /etc/profile.d/mysql.sh
8、运行安全初始化脚本,同上实验,注意路径发生了改变,现在的安全脚本路径为:/usr/local/mysql/bin/mariadb-secure-installation
安全路径文件名根据版本不同也有可能发生变化,如:/usr/local/mysql/bin/mysql_secure_installation
/usr/local/mysql/bin/mariadb-secure-installation
9、如果运行mysql报错,错误信息:-bash: mysql: command not found
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin