========首先、centos7.6========
自己待得几家公司都用centos得多然后windos其次。然后版本百度搜了一下centos个版本终止时间,8已经去年底停更,7还能坚持,最迟2024年时间足够用,其实停更对我这小屁孩也没啥影响。
选好系统centos选好版本7.6
========JDK========
本来打算选openjdk然后搜的时候发现一句话,当前开源组织都还没放弃oracleJDK而且工作也都还在用oracleJDK,就不选openjdk了,
版本现在应该是JKD17了但是工作最早5后来6了很久到7了没多久一直8着呢,真有需要也没必要放服务器自己本地可以装新版,服务器还是用JDK1.8
结果看别人安装教程用yum安装自己也就安装openJDK啦,哈哈,真是人生无常大肠包小肠。
1、搜索jdk安装包,一眼望去都是openjdk比去官网下载orcakjdk方便多了
yum search java|grep jdk
2、选jdk1.8下载; 默认目录/usr/lib/jvm
yum install java-1.8.0-openjdk
下载过程中 按了一下键盘 y 确认一下
最后提示 完成
3、查看版本,如下图就意味着安装成功
java -version
====如上三步下载安装完成
====如下三步配置环境变量
1、找到目录:
JDK默认安装路径 /usr/lib/jvm
找到 jre-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
特意去xftp里看了一下,如图
2、把目录配置进系统里:
编辑/etc/profile文件,把找到的命令文件及目录地址配置进去
vi /etc/profile
添加如下命令
# set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
复制 == 键盘i是插入 == 粘贴 == 键盘左上角Esc == 然后 :wq保存退出
保存关闭profile文件,执行如下命令刷新配置生效
source /etc/profile
3、配置完了验证一下是否成功:
查看JDK变量
echo $JAVA_HOME
echo $PATH
echo $CLASSPATH
======mysql======
这个第一步很容易就是十分确信就是mysql而不是其他数据库
第二步版本该选啥,工作用5.7
其他旧同事拿过mysql8的项目让我帮忙找过bug说明现在企业也流行用8了,不过我相信仍然是5.7的居多,
我之前安装过8 https://www.cnblogs.com/swk3/p/15142513.html
现在还是角色安装5.7足够,完全没必要8
分析如下几点:
1/centos7.6自带的类mysql数据库是mariadb,会跟mysql冲突,要先删除。
2/从dev.mysql.com下载会很慢,如果可以更可以去docker方式,推荐去从镜像地址下载,比如去华为镜像地址下载
3/不止是mariadb还有如果以前装过mysql也是要安装前删一下以前的卸掉
4/不用yum自动安装方式,而是自己手动安装就要自己选好安装到目录和配置环境变量,开机自启也是自己配置
5/mysql有权限组用户还有远程访问权限要配置一下
6/MySQL装完肯定要改密码的
基本就是提前卸载旧残渣文件,然后下载、解压、安装、权限、配置、改密、开机自启这些步骤,还真费事主要是怪网速不给力要不真的还是yum安装比较省心
一、卸载
清mariadb因为我是腾讯云铁定是有所以这一步必须要做、
1、查
rpm -qa | grep -i mariadb
2、软删刚查到的
rpm -e mariadb-libs
3、硬删刚查到的
rpm -e –nodeps mariadb-libs
清理mysql旧文件如果有就清没有就不用这一步、
rpm -qa | grep -i mysql
确实没查出来,当时新装的系统肯定干净
防火墙看状态确实是关着的状态、
systemctl status firewalld
但我手欠给启动一下、
systemctl start firewalld
再看一下状态确实启动了、
systemctl status firewalld
再关闭
systemctl stop firewalld
虽然没有安装过mysql旧版本但是有相关的文件不知道有用没有,怕影响我查了一下
find / -name mysql
查到俩,我就给删除掉这俩文件了
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /usr/lib64/mysql
二、下载
从华为镜像找到一个5.7比较新的版本,下载下来,是真的快,应该是广东省省内内网网速吧很快
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
我在 /usr/local/ 目录下载,解压的,
tar zxf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
并把文件夹的长名改成了短名
mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql-5.7.38
添加环境变量配置进系统里
tee -a /etc/profile <<-‘EOF’
> # wlf-2020-09-21
> export PATH=$PATH:/usr/local/mysql-5.7.38/bin
> EOF
并刷新命令生效
source /etc/profile
看了一下系统没有mysql组、
cat /etc/group | grep mysql
看了一下系统也没有mysql用户
cat /etc/passwd | grep mysql
给系统添加mysql组
groupadd mysql
给系统添加mysql用户
useradd -r -g mysql mysql
然后在看了一下系统有了mysql组、
也有了mysql用户
把mysql目录权限分给mysql组mysql用户
chown -R mysql.mysql /usr/local/mysql-5.7.38
====mysql的配置====
创建mysql未来数存放的目录
mkdir /usr/local/mysql-5.7.38/data
其他端口、编码、等配置信息都写到一个新的配置文件里
cd /usr/local/mysql-5.7.38/support-files
vim my_default.cnf
———复制如下信息粘贴进去————–
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It’s a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /usr/local/mysql-5.7.38
datadir = /usr/local/mysql-5.7.38/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /usr/local/mysql-5.7.38/data/mysqld.log
pid-file = /usr/local/mysql-5.7.38/data/mysqld.pid
———复制如上信息粘贴进去————–
键盘i进入插入状态,粘贴,键盘Esc退出输入状态,冒号:wq退出保存
复制一份配置文件到系统etc目录
cp /usr/local/mysql-5.7.38/support-files/my_default.cnf /etc/my.cnf
初始化 mysqld
mysqld –initialize –user=mysql –basedir=/usr/local/mysql-5.7.38/ –datadir=/usr/local/mysql-5.7.38/data/
就可以查看初始密码了
grep password /usr/local/mysql-5.7.38/data/mysqld.log
配置开机自启
cp /usr/local/mysql-5.7.38/support-files/mysql.server /etc/init.d/mysql
启动MySQL
service mysql start
用刚看到的临时密码,在服务器上登录MySQL
修改密码(没必要这么简单的密码123456)
三步:改值,改权,刷新权限
set password=password(‘123456’);
grant all privileges on *.* to root@’%’ identified by ‘123456’;
flush privileges;
给mysql的root用户添加远程访问权限:
切换到系统mysql库、
use mysql;
给root设置远程访问权限、
update user set host=’%’ where user = ‘root’;
这一步我报错了我查了一下select host from user where user = ‘root’;已经有了所以报错,有了就可以了。
刷新权限
flush privileges;
删掉其他有远程权限的用户只留下root账号可以远程访问
use mysql;
delete from user where user<>’root’ and host<>’%’;
flush privileges;
退出mysql登录状态
exit;
重启mysql服务。然后重启服务器试试能否自启成功
service mysql restart
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/tech/database/278169.html