一.安装前的准备工作
(1) 卸载自带的MariaDB
// 查询已安装的 mariadb 版本
rpm -qa | grep mariadb
// 如果本地存在该软件,则会显示软件完整名称
// 例如:mariadb-libs-5.5.64-1.el7.x86_64
// 卸载 mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
(2) 检查numactl依赖是否安装
// 先使用查询电脑是否已经安装了numactl依赖
rpm -qa|grep numactl
// 如果已经安装则不需要执行这条
yum -y install numactl.x86_64
(3) 下载MySQL包
官网:https://dev.mysql.com/downloads/mysql/
// 切换到一个目录用来存放下载的包
/usr/local
// 接下来我会将软件安装到这个文件夹中,如果与我不同,注意下面的操作按需更改路径
// 使用wget方式下载mysql-5.7.29
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
二.安装和配置
(1) 解压
// 解压包
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
// 将解压的包改名为mysql
mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql
// 创建数据库文件存放位置
mkdir /usr/local/mysql/data
(2) 创建mysql用户用来维护数据库
// 创建用户组:mysql
groupadd mysql
// 创建新用户mysql并添加到mysql用户组
useradd -g mysql mysql
// 修改mysql用户的密码,长度超过8位连续输入两次
passwd mysql
// 赋予mysql用户安装路径的权限
chown -R mysql:mysql /usr/local/mysql
(3) 安装
// 切换到bin目录 cd /usr/local/mysql/bin // 生成数据库实例 ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
// 生成的初始化密码一定要记下来,否则后面重制密码特别费劲
(4) 配置mysql系统参数
// 在etc下创建mysql的配置文件
touch /etc/my.cnf
// 我用nano文本编辑器,没有的可以下一个或者用vi
nano /etc/my.cnf
// 将以下文本拷入,如果安装路径不同,请自行更改
[mysql]
default-character-set=utf8mb4
[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
lower_case_table_names = 1
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
// 保存并退出
(5) 将mysql配置到系统服务中
// 拷贝mysql系统服务文件到系统服务文件夹下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
// 编辑文件
nano /etc/init.d/mysql
// 将basedir和datadir添加安装时配置的对应属性
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
(5) 将mysql配置到系统自启中
chkconfig --add mysql
chkconfig mysql on
(6) 将mysql配置到环境变量中
// 编辑 /etc/profile 文件
nano /etc/profile
// 在文件末尾添加以下文本
export PATH=$PATH:/usr/local/mysql/bin
// 保存并退出
// 刷新配置文件
source /etc/profile
// 测试
mysql --version
三.初始化MySQL
(1) 启动
// 确保mysql关闭
service mysql stop
// 启动mysql
service mysql start
(2) 检查mysql是否成功设置开机自启
chkconfig | grep -i mysql
// 3、4、5为on则成功,如果不是则执行
chkconfig --level 345 mysql on
(3) 修改root密码
// 因为刚生成实例的mysql不修改root密码是禁止操作数据库的
// 所以在外部环境就需要使用mysqladmin修改密码,前提mysql服务是启动的
// 注意!如果宿主机和数据库不能保证在安全的连接下请勿使用此方法
mysqladmin -u root -p password "新密码"
// mysql会要求你输入原root用户密码,将初始化生成的密码粘进去
如果遗失初始化的密码,请按照第四节方法初始化密码。
(4) 登陆
mysql -uroot -p
四.忘记密码时修改密码的方法
(1) 使用root用户修改 /etc/my.cnf 文件
nano /etc/my.cnf
// 在[mysqld]后加入以下文本
skip-grant-tables
(2) 重启mysql服务
service mysql restart
(3) 执行以下命令跳过密码进入mysql进行修改密码
// 登陆mysql
cd /usr/local/mysql/bin
./mysql
// 重置密码,进入库mysql
use mysql;
// 重置密码,注意不同版本的密码列名不同,用desc user查看
update user set authentication_string=password("wasd2020") where user="root";
// 刷新缓存表
flush privileges;
// 退出
quit;
(4) 再修改 /etc/my.cnf 文件,将免密语句注释
nano /etc/my.cnf // 用#注释掉skip-grant-tables #skip-grant-tables
// 保存并退出
(5) 重启mysql服务
service mysql restart
(6) 密码已经重置成功,使用新密码登陆即可