Linux (Centos 7) Jdk1.8与Mysql 5.7环境搭建

1、安装远程连接与文件上传,我这里用的是XSell6与Xftp6

2、安装JDK1.8

# 下载jdk-8u201-linux-x64.tar.gz  要tar.gz格式的
# 通过ftp上传到jdk的安装目录
# tar -zxvf jdk-8u201-linux-x64.tar.gz 解压文件
# 进入/etc/profile  配置环境变量
export JAVA_HOME=/home/java/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 让刚刚配置的jdk生效: 
source /etc/profile    
# 最后检查jdk 是否配好: java -version

 

3、安装Mysql5.7、修改远程控制、登录密码、开放端口号 

 安装Mysql可能会有些问题:可以加我919900480,请备注一下CSDN

# 检查是否安装的mysql
rpm -qa | grep mysql
# Centos7将默认数据库mysql替换成了Mariadb,检查是否有mariadb
rpm -qa|grep mariadb
# 卸载mariadb,文件名就是上面查看出来的mariadb
rpm -e --nodeps 文件名      
# 比如: rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64  将默认的卸载
# 删除etc目录下的my.cnf,没有的话请忽略
rm /etc/my.cnf
# 查询mysql 的配置文件
find / -name mysql    
# 删除所有关于mysql的文件  删除/etc my.cnf 的mysql配置文件

# 检查mysql组和用户是否存在,如无创建
cat /etc/group | grep mysql 
cat /etc/passwd | grep mysql
# 创建mysql用户组
groupadd mysql
# 创建一个用户到mysql组
useradd -g mysql mysql
# 设置密码
passwd mysql


# 将下载好的mysql通过ftp上传到服务器
tar -xvf mysql-8.0.15-linux-glibc2.12-i686.tar
# 解压完成之后会得到几个压缩文件  然后解压mysql
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
# 如果嫌mysql名字太长自己重命名-- 我重命名成mysql5.7了

# 下面创建几个mysql需要的文件夹和文件
# mysql需要一个存放data 一个pid和log的
# 创建文件
mkdir -p /mysql/base/log
mkdir /var/mysql-data
# 文件夹已经创建好了,下面创建文件
vi /mysql/mysql.pid
vi /mysql/base/log/error.log
# mysql运行的文件和日志文件创建完成

# 更改所属的组和用户
# 解压出来的mysql
chown -R mysql /opt/mysql5.7
# 运行文件和日志
chown -R mysql /mysql/
# mysql 存放data
chown -R /var/mysql5.7

# 创建mysql的配置文件
vi /etc/mysql.cnf 
# 把下面的配置贴进去
------------------------------------------------------------------
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306 
# 设置mysql的安装目录, 解压出来的目录
basedir=/opt/mysql5.7
# 设置mysql数据库的数据的存放目录
datadir=/var/mysql-data

socket = /tmp/mysql.sock
# 错误日志和运行文件 就是开始创建的,指定
log-error = /mysql/base/log/error.log
pid-file = /mysql/mysql.pid
user = mysql
tmpdir = /tmp

# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 
lower_case_table_names=1
max_allowed_packet=16M
# 关闭only_full_group_by模式, 否则group by 很狭隘
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


-------------------------------------------------------------------

# 初始化一下mysql 并指定data 存放地址 basedir 安装目录
[root@hdp265dnsnfs mysql5.7]# bin/mysql_install_db --user=mysql --basedir=/opt/mysql5.7/ --datadir=/var/mysql-data
# 如果 mysql_install_db 被弃用  就把mysql_install_db替换成mysqld --initialize
[root@hdp265dnsnfs mysql5.7]# bin/mysqld --initialize --user=mysql --basedir=/opt/mysql5.7/ --datadir=/var/mysql-data
# 如果出现bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
# 安装下面这个
yum -y install numactl
# 再初始化


# 如果初始化失败
yum install -y libaio  // 安装了再初始化
# 初始化成功之后得到初始密码
2019-10-25T01:19:09.004781Z 1 [Note] A temporary password is generated for root@localhost: -2rB)wunaK8j


# 初始化之后
[root@hdp265dnsnfs mysql5.7]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@hdp265dnsnfs mysql5.7]# chmod +x /etc/init.d/mysqld

# 重启mysql
/etc/init.d/mysqld restart

# 这里可能重启失败,报错如下:
# /etc/init.d/mysqld: line 239: my_print_defaults: command not found
# /etc/init.d/mysqld: line 259: cd: /usr/local/mysql: No such file or directory
# 不要慌,其实到了这里了,基本上差不多了,出现什么错误,咱解决什么错误,这里报测配置信息错误, 因为我们不是按照默认安装路径安装的,自定义安装
# 我们修改一下就好了
vi /etc/init.d/mysqld
# 找到下面这个配置
# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.
basedir=/opt/mysql-5.7
datadir=/var/mysql-data
# 保存退出, 然后重启,有可能需要重启两次
# 重启mysql
/etc/init.d/mysqld restart
# Shutting down MySQL..                                      [  OK  ]
# Starting MySQL.                                            [  OK  ]
# 说明启动成功....

# 获得初始密码
cat /root/.mysql_secret
# 如果cat /root/.mysql_secret查看不了密码就去自己创建的error.log查看初始密码,直接复制

#创建一个连接(/usr/local/mysqsl5.7/bin/mysql是自己解压mysql的路径)
ln -s /opt/mysql5.7/bin/mysql /usr/bin

# 测试登录
mysql -uroot -p

# 修改默认密码
set password for root@localhost = password('123');

# 本次博客更新时间: 2019年9月10日21:01:31

# 允许远程客户端连接
grant all privileges  on *.* to root@'%' identified by "password"; # password 连接的密码
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "abc123456"; 
# 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
# @ 后面是访问MySQL的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本----地访问(那此用户就不能远程访问该mysql数据库了)。

# 最后让账号密码生效
flush privileges;


# 启动
[root@VM_0_15_centos mysql5.7]# service mysqld start 
# 关闭
[root@VM_0_15_centos mysql5.7]# service mysqld stop 


# 查看端口号开放状态
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)

-- 
1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
2.保存:/etc/rc.d/init.d/iptables save
3.重启服务:/etc/init.d/iptables restart
4.查看端口是否开放:/sbin/iptables -L -n
--端口号详细配置,请看下文

4、完成,推荐几个新手入门配置,都是我自己尝试过的环境搭建

# Linux/Centos 7 Tomcat8.5 离线安装  点击进入

# Linux/Centos 7 iptables防火墙安装/端口号开放   点击进入

 

 

你可能感兴趣的:(Linux)