Linux CentOS7二进制方式安装Mysql5.7

1 、准备安装软件

1.1、下载mysql

下载地址 https://downloads.mysql.com/archives/community/
Linux CentOS7二进制方式安装Mysql5.7_第1张图片

1.2、把下载的mysql上传到服务器并解压

笔者这里把下载的文件上传到了 /usr/software 目录

#解压安装包
[root@iZ2zec74ta983l9lm1uu3dZ software]# tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 

  #创建mysql二进制文件存放目录
[root@iZ2zec74ta983l9lm1uu3dZ software]# mkdir /application  
  
  #移动到安装目录
[root@localhost software] mv mysql-5.7.22-linux-glibc2.12-x86_64  /application/mysql

2、删除Centos默认的mariadb数据库

[root@iZ2zec74ta983l9lm1uu3dZ ~]# rpm -qa | grep mariadb

[root@iZ2zec74ta983l9lm1uu3dZ ~]# rpm -qa | grep mariadb

3、添加mysql用户

[root@iZ2zec74ta983l9lm1uu3dZ ~]# useradd -s /sbin/nologin mysql

检查一下刚才添加的用户信息

[root@iZ2zec74ta983l9lm1uu3dZ ~]#  id mysql

4、设置mysq环境变量

[root@iZ2zec74ta983l9lm1uu3dZ ~]#  vim /etc/profile

在profile中添加如下内容:

export PATH=/application/mysql/bin:$PATH

执行命名,环境变量生效:

[root@iZ2zec74ta983l9lm1uu3dZ ~]# source /etc/profile

配置完以上就可以查看mysql版本了

[root@iZ2zec74ta983l9lm1uu3dZ ~]# mysql -V

5、初始化mysql数据

创建mysql数据根目录

[root@iZ2zec74ta983l9lm1uu3dZ ~]# mkdir /data

授权

[root@iZ2zec74ta983l9lm1uu3dZ ~]# chown -R mysql.mysql /application/*
[root@iZ2zec74ta983l9lm1uu3dZ ~]# chown -R mysql.mysql /data

创建mysql数据目录并授权

[root@iZ2zec74ta983l9lm1uu3dZ ~]#  mkdir /data/mysql/data -p  

[root@iZ2zec74ta983l9lm1uu3dZ ~]# chown -R mysql.mysql /data/mysql/data/

初始化数据

[root@iZ2zec74ta983l9lm1uu3dZ ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

参数说明:

  • mysqld:第四步已经配置了环境变量,这里用mysqld。mysqld的目录为 /application/mysql/bin

  • –initialize-insecure 初始化的时候,使用非安全模式,也就是初始化的时候无密码,向对应的是: --initialize 初始化后会生成一个强类型的密码

  • –user :mysql用户

  • –basedir: mysql二进制的目录

  • –datadir: mysql数据目录

初始化过程中如果报这个错误,安装如下依赖包

mysqld: error while loading shared libraries: libaio.so.1: cannot open
shared object file: No such file or directory

[root@iZ2zec74ta983l9lm1uu3dZ ~]#  yum install -y libaio-devel

初始化完成之后 data目录 文件如下 /data/mysql/data
Linux CentOS7二进制方式安装Mysql5.7_第2张图片

6、初始化mysql的配置文件

cat >/etc/my.cnf <[mysqld]
	user=mysql
	basedir=/application/mysql
    datadir=/data/mysql/data
    socket=/tmp/mysql.sock	
	server_id=6
	port=3306
	[mysql]
	socket=/tmp/mysql.sock
	EOF

8、启动mysql数据库

8.1、sys-v方式

拷贝mysql.server件到/etc/init.d 目录 并重命名为mysqld

[root@iZ2zec74ta983l9lm1uu3dZ data]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

启动数据库

[root@iZ2zec74ta983l9lm1uu3dZ data]# service mysqld start

常用命令

# 启动,两种方式都可以
[root@iZ2zec74ta983l9lm1uu3dZ data]# service mysqld start

[root@iZ2zec74ta983l9lm1uu3dZ data]# /etc/init.d/mysqld start

# 重新启动,两种方式都可以
[root@iZ2zec74ta983l9lm1uu3dZ data]# service mysqld restart

[root@iZ2zec74ta983l9lm1uu3dZ data]# /etc/init.d/mysqld restart

# 停止,两种方式都可以
[root@iZ2zec74ta983l9lm1uu3dZ data]# service mysqld restart

[root@iZ2zec74ta983l9lm1uu3dZ data]# /etc/init.d/mysqld restart
 #查看是否启动成功
[root@iZ2zec74ta983l9lm1uu3dZ data]#  netstat -lnp | grep 3306

8.2、systemd 启动方式

添加配置信息

cat > /etc/systemd/system/mysqld.service <[Unit]
	 Desciption=Mysql Server
	 Documentation=man.mysqld(8)
	 Documentation=https://dev.mysql.com/doc/refman/8.0/en/using-systemd.html
	 After=network.target
	 After=syslog.target
	 [Install]
	 WantedBy=muiti-user.target
	 [Service]
	 User=mysql
	 Group=mysql
	 ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
	 LimitNOFILE=5000
	 EOF

配置好以后就可以启动了

[root@iZ2zec74ta983l9lm1uu3dZ data]#  systemctl start mysqld

常用命令

#启动
[root@iZ2zec74ta983l9lm1uu3dZ data]#  systemctl start mysqld
#重新启动
[root@iZ2zec74ta983l9lm1uu3dZ data]#  systemctl restart mysqld

#停止
[root@iZ2zec74ta983l9lm1uu3dZ data]#  systemctl stop mysqld

9 、设置密码

[root@iZ2zec74ta983l9lm1uu3dZ data]# mysqladmin -uroot -p password 您的密码

在这里插入图片描述

接下来就可以用新密码登录mysql数据库了

[root@iZ2zec74ta983l9lm1uu3dZ data]#  mysql -uroot -p

10 、配置远程连接

登录账户

[root@iZ2zec74ta983l9lm1uu3dZ data]#  mysql -uroot -p

设置root用户可以远程访问:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的密码'  

使修改生效:

mysql> FLUSH PRIVILEGES 

防火墙开放3306端口

[root@iZ2zec74ta983l9lm1uu3dZ ~]# firewall-cmd --permanent --add-port=33606/tcp

重启防火墙,使配置生效

[root@iZ2zec74ta983l9lm1uu3dZ ~]# firewall-cmd --reload

查询3306端口是否开放

[root@iZ2zec74ta983l9lm1uu3dZ ~]# firewall-cmd --query-port=3306/tcp

查看防火墙规则

[root@iZ2zec74ta983l9lm1uu3dZ ~]# firewall-cmd --list-all 

通过以上配置mysql的root用户就可以远程连接了,赶快去试试吧

11、其他centos7防火墙操作常用命令

# 查看防火墙状态
[root@iZ2zec74ta983l9lm1uu3dZ ~]#  systemctl status firewalld

# 开启
[root@iZ2zec74ta983l9lm1uu3dZ ~]#  service firewalld start
# 重启
[root@iZ2zec74ta983l9lm1uu3dZ ~]#  service firewalld restart
# 关闭
[root@iZ2zec74ta983l9lm1uu3dZ ~]#  service firewalld stop

# 查询端口是否开放
firewall-cmd --query-port=80/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

你可能感兴趣的:(mysql,mysql,linux,centos)