首先进入/opt目录下,在这个目录里面安装:利用阿里云的镜像进行下载(没有安装wget的可以先使用yum install wget安装)
wget https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.27-el7-x86_64.tar.gz
然后可以检查一下以前是否安装过MySQL:(如果有的话自行卸载)
rpm -qa | grep mysql
下一步安装相关依赖包:
yum install libaio
下一步在opt目录下解压安装包:
tar -zxvf mysql-8.0.27-el7-x86_64.tar.gz
为了方便安装将解压后的安装包更名为mysql
mv mysql-8.0.27-el7-x86_64 mysql
这时的文件目录结构:
按照习惯,我们将文件移动到/usr/local目录下
mv mysql /usr/local
创建数据库文件存放的文件夹。这个文件夹将来存放每个数据库的库文件
[root@zzwbit local]# cd mysql
[root@zzwbit mysql]# mkdir mysqldb
修改安装目录权限:
chmod -R 777 /usr/local/mysql/
创建组
groupadd mysql
创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
useradd -r -g mysql -s /bin/false mysql
将用户添加进组:
chown -R mysql:mysql ./
修改mysql配置文件
vi /etc/my.cnf
可以将里面的内容全部删除,添加一下命令:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为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
进入安装目录进行安装:
cd /usr/local/mysql/bin/
记住随机初始化的密码:
例如我的是: >Z:Fzy5W3N=a
启动MySQL服务:
[root@zzwbit bin]# cd /usr/local/mysql/support-files/
[root@zzwbit support-files]# ./mysql.server start
第一次启动会有报错:
重新设置权限后启动:启动成功
将MySQL的进程添加到系统进程中:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
设置MySQL自启动:
[root@zzwbit support-files]# chmod +x /etc/init.d/mysqld
[root@zzwbit support-files]# systemctl enable mysqld
登录MySQL修改密码:
[root@zzwbit support-files]# cd /usr/local/mysql/bin/
[root@zzwbit bin]# ./mysql -u root -p
修改密码:设置新密码为123456
mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
设置允许远程登录:
mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit
重启服务并测试:
[root@zzwbit bin]# systemctl restart mysql
[root@zzwbit bin]# service mysql restart
查看防火墙
firewall-cmd --list-all
如果没有打开先打开:
[root@zzwbit bin]# systemctl start firewalld
[root@zzwbit bin]# firewall-cmd --list-all
在防火墙中将端口打开:
[root@zzwbit bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@zzwbit bin]# firewall-cmd --reload
如果想要使用远程连接记得要把服务器的安全组都配置一下参考链接Centos7环境下安装Mysql8详细教程(超详细,亲测百分百成功)_Java大侠的博客-优快云博客_centos7安装mysql8