CentOS7的安装
linux中安装Java
linux中安装tomcat
linux下安装MySQL
linux下安装Nginx
前言
当时安装比较着急,所以没有保存安装时的截图,本人就是按照此文章流程进行安装的mysql,如带来不便,请谅解,后边有时间会重新更新此文章
这里的mysql我采用的是官网下载,下载速度还是挺快的,如果使用yum方式进行下载mysql大概2个多小时才能安装完成,所以我们采用安装包的方式进行安装
下载
下载地址: https://downloads.mysql.com/archives/community/
检查环境
检测系统是否自带MySQL
rpm -qa|grep -i mysql
如果有就进行卸载
rpm -ev mysql-server-5.1.71-1.el6.x86_64 --nodeps
查找之前的MySQL目录,并使用 rm -rf 文件夹名 删除
find / -name mysql
删除my.cnf
rm -rf /etc/my.cnf
安装
解压及重命名
使用tar命令进行解压
tar -zxvf mysql安装包
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
重命名
m mysql安装包 新名字
mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql
将MySQL移动到自己想要的位置
mv mysql /opt/
创建MySQL用户和用户组
查看mysql用户和组是否存在,没有则创建
cat /etc/group|grep mysql
groupadd mysql
useradd -r -g mysql mysql
安装数据库
首先进入到mysql目录
我这里是tar到了/opt 目录下
cd /opt/
创建data目录
mkdir data
将mysql目录的所有者及所属组改为mysql,目录改为你自己的
chown -R mysql.mysql /opt/mysql
在support-files目录下创建my_default.cnf
cd support-files/
touch my_default.cnf
编辑my_default.cnf文件,进行简单配置
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
拷贝到 /etc/my.cnf
cp my_default.cnf /etc/my.cnf
在mysql目录下:初始化MySQL
目录换成自己的
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/
可能出现的问题
如果报这个错误:执行下面命令
yum install libaio
再次执行初始化命令即可
查看日志(改成自己的目录),下面的红框是初始密码
初始密码需要临时记一下
cat /opt/mysql/data/mysqld.log

把启动脚本放到开机目录下
cp ./support-files/mysql.server /etc/init.d/mysql
配置MySQL环境变量
vim /etc/profile
在文件最下面添加一行(目录改成自己的)
i 写 , esc退出写模式 , :wq 保存退出
export PATH=$PATH:/opt/mysql/bin
刷新配置文件
source /etc/profile
启动MySQL
service mysql start
配置完环境变量以后,可以在任意位置进入mysql
mysql -u root -p
输入刚才日志文件的临时密码
修改密码,自己的密码
set password=password('root');
grant all privileges on *.* to root@'%' identified by 'root';
可能出现的错误
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
解决:
刷新一下权限表
flush privileges;
把所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。
grant all on cactidb.* to dbuser@'localhost' identified by 'root';
退出mysql
exit;
重启mysql生效
service mysql restart
开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
刷新
firewall-cmd --reload
如果不想开放端口,可以关闭防火墙点这里