MySQL下载
第一步,进入到MySQL官网下载对应版本的MySQL。
登录地址:MySQL :: Download MySQL Community Server (Archived Versions)
下载Generic版本mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz。
第二步,也可以进入shell后用命令下载MySQL。
命令:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
MySQL配置
第一步,安装前,检测系统是否自带安装 MySQL。
命令:rpm -qa | grep mysql
若结果显示类似“mysql-libs-5.1.52-1.el6_0.1.x86_64”,则可以选择进行卸载。
# 普通删除模式
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64
# 如果使用普通删除模式命令删除时,提示有依赖的其它文件,则用强力删除模式命令对其进行强力删除
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64
第二步,检查否存在 mariadb 数据库。
命令:rpm -qa | grep mariadb
若结果显示类似“mariadb-libs-5.5.56-2.el7.x86_64”,则可以选择进行卸载。
命令:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
第三步,用WinSCP工具将mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz上传到IP地址为x.x.x.x的服务器中的/home/software目录下面。
# home 里面没有 software
命令:mkdir software
第四步,进入安装包所在目录,解压文件,并重命名文件。
# 解压文件
命令:cd /home/software/
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
# 重命名
命令:mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql-5.7.37
第五步,添加系统mysql组和mysql用户。
检查mysql组和用户是否存在。
命令:cat /etc/group | grep mysql
若结果显示“mysql:x:1490:”,则说明mysql组存在,无需再添加。
cat /etc/passwd | grep mysql
若结果显示“mysql:x:1496:490::/home/mysql:/bin/bash”,则说明mysql用户存在,无需再添加。可能报错其他数字,但是无妨不影响。
若结果显示mysql组和用户不存在,则执行添加命令。
命令:groupadd mysql
useradd -r -g mysql mysql
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统
MySQL安装
第一步,创建data目录。
命令:mkdir -p /usr/local/mysql-5.7.37/data
第二步,将/usr/local/mysql-5.7.37的所有者及所属组改为mysql,并赋予权限。
命令:
chown -R mysql:mysql /home/software/mysql-5.7.37
chmod -R 755 /home/software/mysql-5.7.37
chmod -R 755 /home/software/mysql-5.7.37/data
第三步,在/usr/local/mysql-5.7.37/support-files目录下创建my_default.cnf。
my_default.cnf文件中写入下面的代码:
[mysqld]
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#安装目录,需要修改成自己配置的目录
basedir = /home/software/mysql-5.7.37
#安装目录,需要修改成自己配置的目录
datadir = /home/software/mysql-5.7.37/data
port = xxxx
socket = /tmp/mysql.sock
character-set-server = utf8
#log报错安装目录,需要修改成自己配置的目录
log-error = /home/software/mysql-5.7.37/data/mysqld.log
#pid安装目录,需要修改成自己配置的目录
pid-file = /home/software/mysql-5.7.37/data/mysqld.pid
第四步,把my_default.cnf文件拷贝到/etc中并命名为my.cnf,mysql默认读my.cnf。所以别改成其他名称。
命令:cd /home/software/mysql-5.7.37/support-files
cp my_default.cnf /etc/my.cnf
第五步,初始化数据库。
命令:yum install libaio-devel.x86_64
命令: yum install libncurses* -y
命令:cd /home/software/mysql-5.7.37/bin
命令:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.37/ --datadir=/usr/local/mysql-5.7.37/data/
注意:--initialize 生成一个临时密码写到一个文件
--initialize-insecure 不生成临时密码
第六步,初始化完成之后,查看日志。
/home/software/mysql-5.7.37/data/mysqld.log
2023-02-03T07:01:34.216723Z 1 [Note] A temporary password is generated for root@localhost: *34%(DZ3gN>I
第八步,进入/home/software/mysql-5.7.37/support-files,启动mysql服务。
命令:cd /home/software/mysql-5.7.37/support-files
修改文件 mysql.server
命令: vi mysql.server 或 vim mysql.server
这块数据对应的路径改成你mysql 地址 保存
#启动MySQL
./mysql.server start
第九步,把启动脚本放到开机初始化目录。
命令:cd /home/software/mysql-5.7.37/support-files
cp mysql.server /etc/init.d/mysql
# 赋予可执行权限
命令:chmod +x /etc/init.d/mysql
# 添加服务
命令:chkconfig --add mysql
第十步,登录mysql,密码为初始密码。
命令:cd /usr/local/mysql-5.7.37/bin
./mysql -u root -p
输入了临时密码:“*34%(DZ3gN>I”,若结果显示“mysql> ”,则说明数据库登录成功了
第十步,修改密码。
set password='XXXX';
密码规则,大小写,特殊符号,阿拉伯数字都要有比如 123456@zA,
第十步,退出测试新密码登录。
输入登录密码“123456@zA”,进入MySQL shell状态。
第十一步,添加远程访问权限。
命令:mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
第十二步,重启mysql生效。
命令:service mysql stop 暂停
service mysql start 启动
或者
service mysql restart 重新启动
第十三步,开启防火墙端口。
命令:
开启防火墙端口
firewall-cmd --zone=public --add-port=xxxx/tcp --permanent
重启防火墙
firewall-cmd --reload
查询端口号xx 是否开启:
firewall-cmd --query-port=xxxx/tcp
第十四步,设置path路径。
命令:export PATH=$PATH:/home/software/mysql-5.7.37/bin
使profile文件生效
命令:source /etc/profile