Installation MySQL-5.7.35 on CentOS 7.9

一、Installation MySQL-5.7.35 on CentOS 7.9

1 下载地址

2 mysql-5.7.35 安装包上传到linux服务器

使用Xftp 或者 wget 在服务器上下载

### 推荐使用wget
yum install -y wget
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

3 检查系统是否安装过mysql,如果没有略过此步骤

[root@ecs-65685 ~]# rpm -qa|grep mysql

没有任何输出说明没有安装过mysql!

如果系统自带mysql,查询所有mysql 对应的文件夹,全部删除,使用命令

whereis mysql
find / -name mysql
rpm -qa| grep mysql
来查看所有mysql关联的目录,然后全部删除。

4 卸载CentOS7系统自带mariadb

查看系统自带的Mariadb,没有略过此步骤

rpm -qa|grep mariadb

卸载系统自带的Mariadb

因为centos7自带的mariadb 与mysql冲突,所以需要先卸载

yum remove mariadb-libs -y

5 删除etc目录下的my.cnf

查看 /etc 目录下有没有 my.cnf 文件,如果有,删除

6 创建用户和组

useradd mysqlxyz -s /sbin/nologin
id mysqlxyz
 

二、创建目录,并解压

1 创建软件目录
mkdir -p /opt/mysqlxyz/database
2 创建数据目录
mkdir -p /opt/mysqlxyz/data
3 创建日志目录
mkdir -p /opt/mysqlxyz/binlog
4 设置权限
chown -R mysqlxyz.mysqlxyz /opt/mysqlxyz/database /opt/mysqlxyz/data /opt/mysqlxyz/binlog
 

5 解压安装mysql安装包到 /opt/mysqlxyz/database/ 目录下

tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz -C /opt/mysqlxyz/database/
 6 名字太长,修改为 mysql-5.7.35
cd /opt/mysqlxyz/database
mv mysql-5.7.35-linux-glibc2.12-x86_64/ mysql-5.7.35

7 更改 mysql-5.7.35 目录下所有文件夹所属的用户组、用户以及权限

cd /opt/mysqlxyz/database/mysql-5.7.35
chown -R mysqlxyz. *

 

三、设置环境变量

vim /etc/profile
export PATH=$PATH:/opt/mysqlxyz/database/mysql-5.7.35/bin
source /etc/profile
查看版本
mysql -V

 

四、安装 mysql-5.7.35

1 初始化系统库表(带有临时密码

mysqld --initialize --user=mysqlxyz --basedir=/opt/mysqlxyz/database/mysql-5.7.35 --datadir=/opt/mysqlxyz/data

初始化系统库表(密码为空

mysqld --initialize-insecure --user=mysqlxyz --basedir=/opt/mysqlxyz/database/mysql-5.7.35 --datadir=/opt/mysqlxyz/data

3 联网状态或者有yum源可以直接安装缺失的包文件
yum install libncurses* -y

4 再次执行
### 
cd /opt/mysqlxyz/data
### 
mysqld --initialize-insecure --user=mysqlxyz --basedir=/opt/mysqlxyz/database/mysql-5.7.35 --datadir=/opt/mysqlxyz/data

### 安装多个mysql 把 --datadir 修改下即可,还有端口

3 配置文件设置,默认在此路径 /etc/my.cnf
### 
cat > /etc/my.cnf << EOF
[mysqld]
user=mysqlxyz
basedir=/opt/mysqlxyz/database/mysql-5.7.35
datadir=/opt/mysqlxyz/data
port=3306
socket=/tmp/mysql57.sock
server_id=6
[mysql]
socket=/tmp/mysql57.sock
[client]
socket=/tmp/mysql57.sock
EOF

4 启动脚本
###
cd /opt/mysqlxyz/database/mysql-5.7.35/support-files/

### 将服务文件拷贝到init.d下,并重命名为mysql
cp mysql.server /etc/init.d/mysqld
### 赋予可执行权限 可省略
chmod +x /etc/init.d/mysqld

### 添加服务
chkconfig --add mysqld
### 显示服务列表
chkconfig --list
### 启动mysql
systemctl start mysqld

5 使用 mysqladmin 修改密码
mysqladmin -uroot -p password iyuyi.xyz@gamil.com
mysql -uroot -p

 

五、开放远程连接

localhost修改为%,使用远程连接

###
use mysql;
select user, host from user;
update user set host = '%' where user = 'root';
flush privileges;
 
允许远程连接 授权
###
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'iyuyi.xyz@gamil.com' WITH GRANT OPTION;

### 最好刷新一下权限,不刷新有可能也能生效
flush privileges;

 

六、防火墙

### 关闭防火墙
systemctl stop firewalld

### 开放3306端口命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
### 配置立即生效
firewall-cmd --reload

云主机需配置安全组

在入方向规则,允许3306放行

navicat连接

 

X、One Step Success

 

Y、Error message

 

Z、Related Links

Installation MySQL-8.0.28 on CentOS 8.3:https://www.cnblogs.com/huaxiayuyi/p/16857766.html

MySQL-8.0.28 Cluster Deployment One-Master Multi-Slave:https://www.cnblogs.com/huaxiayuyi/p/16859506.html

 

posted @ 2022-10-07 00:17  娇小赤雅  阅读(647)  评论(2编辑  收藏  举报