公司的系统都是内网部署的,mysql也需要自己在内网部署,虽然使用docker安装很方便,但是有一定的风险。所以简单记录一下怎么安装mysql,以备不时之需。
下载地址:https://downloads.mysql.com/archives/community/
选择mysql的版本和系统的版本,然后选择RPM Bundl 下载即可。
如下图:
贴一下下载链接:
https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
rpm -qa | grep mariadb
rpm -qa | grep mysql
如果有,则删除
rpm -e --nodeps 包名
把安装包上传到服务器并解压
tar -xf mysql-8.0.31-1el7.x86_64.rpm-bundle.tar
按顺序执行以下安装命令
rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm
数据默认存在 /var/lib/mysql/ 目录下,可以修改到想要存储的路径
1、新建文件夹
mkdir -p /home/mysql8/data
2、赋权
chown -R mysql:mysql /home/mysql8/data
chmod -R 775 /home/mysql8/data
3、编辑mysql配置文件
vim /etc/my.cnf
更改my.cnf 的datadir参数
[mysqld]
user=mysql
port=3306
datadir=/home/mysql8/data
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character_set_server=utf8mb4
lower_case_table_names=1
default_authentication_plugin=mysql_native_password
4、关闭SELinux
修改mysql的数据存储路径后,SELinux 策略可能会阻止 MySQL 启动,所以直接关闭。
4.1、查看SELinux状态
getenforce
一般会返回三种状态:
Enforcing (记录警告且阻止可疑行为)
Permissive (代表仅记录安全警告但不阻止可疑行为)
Disabled (禁用状态)
4.2、临时关闭SELinux
重启机器后恢复原状态
setenforce 0 #设置SELinux成为permissive模式
setenforce 1 #设置SELinux 成为enforcing模式
4.3、永久改变 SELinux
vim /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled
5、启动mysql
systemctl start mysqld
1、查看临时密码
cat /var/log/mysqld.log | grep password
2、用临时密码登录数据库
mysql -u root -p 回车键
然后输入临时密码(输入时不会显示出来,输入完直接回车)
进入mysql命令行交互页面
3、修改root密码
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
4、授权远程连接
如果本地客户端要使用root用户登录服务器的mysql的话,可以执行,但是为了安全起见,不要这么干。
use mysql;
select host, user, authentication_string, plugin from user;
update user set host = "%" where user='root';
select host, user, authentication_string, plugin from user;
flush privileges;
1、关闭密码安全策略校验,如果你设置的密码没那么复杂的话,就需要修改密码安全策略校验
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password.policy=LOW;
2、新增用户
create user 'test_user'@'%' identified with mysql_native_password by 'test@123';
3、新建数据库
指定字符集和排序规则
create database test_db default character set utf8mb4 collate utf8mb4_0900_ai_ci;
给用户赋权
grant all privileges on test_db.* to 'test_user'@'%';
安装mysql没什么太大难度,一步一步来就可以了。