说明:工作中需要,网上大多不成功。自己亲自安装,记录一下!
1、下载MySQL安装包
#MySQL官网下载链接:https://dev.mysql.com/downloads/mysql/;选择图片中的通用版本(红帽版本也可以)
#不用登陆,直接下载
2、上传安装包至虚拟主机
3、解压安装包至安装目录
#解压命令:
tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
#重命名安装包:
mv /usr/local/mysql-8.0.21-linux-glibc2.12-x86_64/ /usr/local/mysql
4、新增MySQL组和用户
#命令:
# 新增组
groupadd mysql
# 新增用户
useradd -r -g mysql mysql
5、修改MySQL安装目录权限
#命令:
chown -R mysql:mysql ./
6、进入MySQL安装目录,创建data文件夹
#命令:
mkdir data
7、创建my.cnf文件,写入配置
#进入/etc/目录,创建my.cnf文件
#新建一个文件
touch my.cnf
#赋予权限
chmod 755 my.cnf
#配置如下:
[mysqld]
#设置表名大小写不敏感
lower_case_table_names=1
#设置mysql安装目录
basedir=/usr/local/mysql
#设置mysql数据库的数据存放目录
datadir=/usr/local/mysql/data
port=3306
socket=/tmp/mysql.sock
#设置mysql的日志文件位置(这个配置文件先不要放开,不然会报找不到Mysql.log文件,等启动后再放开,在重启)
#log-error=/var/log/mysql.log
#注意了,小细节,这里的 $hostname 是linux的主机名。一般每个人主机名都是不一样的。查看主机名称命令:baihostnamctl
pid-file=/usr/local/mysql/data/$hostname.pid
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
8、进入MySQL安装目录,获取MySQL临时密码
#命令:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
PS:如果此处失败报错error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory,执行yum install -y libaio命令后重新获取。
9、配置MySQL的环境变量
#在profile文件下追加如下内容,编写profile文件,执行命令:
vim /etc/profile
#追加内容如下:
#mysql environment
export MYSQL_HOME
MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/lib:$MYSQL_HOME/bin
#保存编辑,执行命令:
source /etc/profile
10、设置开机启动项,依次执行如下命令
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#添加可执行权限。
chmod +x /etc/init.d/mysql
#注册启动服务
chkconfig --add mysql
11、启动MySQL服务,登录MySQL
#启动MySQL服务:
service mysql start
#登录MySQL,密码为上边记录的初始密码:
mysql -u root -p
12、登录后修改MySQL初始密码
#其中'your_password'是你设置的新密码
alter user 'root'@'localhost' identified by 'your_password';
13、重新启动服务,进入MySQL,查看MySQL数据库
14、添加远程用户
# MySQL 8.4之前版本
create user 'root'@'%' identified with mysql_native_password by '123456';
# MySQL 8.4(包含)之后版本
create user 'root'@'%' identified with caching_sha2_password by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
至此,MySQL安装成功!
注意:本文归作者所有,未经作者允许,不得转载