1.检查是否安装过MySQL
1.1检查去除mysql
yum remove MySQL
1.2查看是否有MySQL依赖
rpm -qa | grep mysql
1.3若有依赖包的情况则进行删除操作
//普通删除模式 rpm -e xxx(mysql_libs) //强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除 rpm -e --nodeps xxx(mysql_libs)
2.检查是否存在mariadb
rpm -qa | grep mariadb
如上述情况一样,存在mariadb,则进行卸载
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
3.上传Mysql安装包并解压
3.1下载MySQL安装包,官网地址:
https://dev.mysql.com/downloads/mysql/
本文中安装的数据库版本为 Linux Generic MySQL 社区服务器 8.0.26
3.2 解压
由于我下载的MySQL格式为:
mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
无法用如下指令进行解压
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
需要先用如下指令将其变成 ".tar格式" 再进行 tar -xvf 解压
xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
3.3将解压的压缩包 移动至常用的安装位置
位置 "/usr/local/"
mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/
补:一般解压的文件夹都会简化下文件夹的名字 mysql-8.0.26
进入 mysql-8.0.26文件夹 并创建mysqldb文件夹,此文件夹用于存放每个数据库的库文件
cd mysql-8.0.26/ mkdir mysqldb
4.安装MySQL依赖包
yum install libaio
5.mysql安装目录赋予权限
chmod -R 777 /usr/local/mysql-8.0.26/
6.创建mysql组和用户
6.1 创建用户组
groupadd mysql
创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
useradd -r -g mysql -s /bin/false mysql
6.2将用户添加到组中
chown -R mysql:mysql ./
检查
id mysql
7.修改mysql配置文件
vi /etc/my.cnf
删除里面的配置,添加如下配置
[mysqld] port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql-8.0.26 # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql-8.0.26/mysqldb # 允许最大连接数 max_connections=10000 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=50 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
8.安装mysql
进入mysql 安装目录的bin 目录
cd /usr/local/mysql-8.0.26/bin/
安装MySQL,并记住初始化随机密码
./mysqld --initialize --console
生成的随机密码: AJCNuxm91p+y
AJCNuxm91p+y
9.启动MySQL服务
cd /usr/local/mysql-8.0.26/support-files/ ./mysql.server start
如若启动报错,百度自行解决.
可以尝试将 "mysql-8.0.26" 安装目录 重新赋予权限 再重启服务
chmod -R 777 /usr/local/mysql-8.0.26 ./mysql.server start
10.将mysql添加到系统进程中
进入bin
cd /usr/local/mysql-8.0.26/bin/ cp /usr/local/mysql-8.0.26/support-files/mysql.server /etc/init.d/mysqld
此时就可以通过服务进程操作mysql
11.设置MySQL自启动
进入bin
cd /usr/local/mysql-8.0.26/bin/ systemctl enable mysqld
此时开机自启就已经设置好了
12.修改MySQL密码
修改前先开启MySQL 服务,检查MySQL服务是否开启,如若开启的过程中出现报错
Starting MySQL.The server quit without updating PID file (/[FAILED]l/mysql-8.0.26/mysqldb/iZuf69hnxir266m4aqb8teZ.pid).
因为之前启动的服务中的缓存文件无法进行更新造成的
处理方法 删除对应的pid缓存文件
chown -R mysql /usr/local/mysql-8.0.26/ chown -R '安装MySQL时创建的用户' '/usr/local/安装的目录'
进入bin
cd /usr/local/mysql-8.0.26/bin/ ./mysql -u root -p
输入临时密码
修改密码
mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
13.设置远程登录
再数据库中操作
mysql> use mysql mysql> update user set user.Host='%'where user.User='root'; mysql> flush privileges; mysql> quit
14.重启服务测
systemctl restart mysql service mysql restart
15.查看是否已经启动
systemctl status mysql