linux安装mysql

1 下载相关安装包解压

  下载地址:

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

      解压
 

  tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar 

      再移动并重命名一下

 mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql

2 创建mysql用户组和用户并修改权限

       创建mysql用户组和用户并修改权限

           groupadd mysql
           useradd -r -g mysql mysql


           创建数据目录并赋予权限

           mkdir -p  /data/mysql              #创建目录
           chown mysql:mysql -R /data/mysql   #赋予权限   

3 配置MySQL相关

1     配置my.cnf

  vim /etc/my.cnf


           内容如下:

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
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


  2 初始化数据库
          进入mysql的bin目录

cd /usr/local/mysql/bin/


        初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize


       查看密码

cat /data/mysql/mysql.err


     启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql


      启动!!!

service mysql start
ps -ef|grep mysql



      到这里说明mysql已经安装成功了!!

         注意启动时会遇到这个问题时:

Starting MySQL.2022-08-28T12:08:13.454031Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

  解决方式:

[root@192 bin]# touch /var/log/mariadb/mariadb.log
[root@192 bin]# chown -R mysql:mysql  /var/log/mariadb/
[root@192 bin]# service mysql start
Starting MySQL.. SUCCESS! 

3  下面修改密码

   查看初次生成的原密码:

cat /data/mysql/mysql.err
[root@192 bin]# cat /data/mysql/mysql.err
2022-08-28T11:50:19.587260Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-08-28T11:50:19.624676Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-08-28T11:50:19.680857Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 97487318-26c7-11ed-a06f-000c29cfa754.
2022-08-28T11:50:19.681407Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-08-28T11:50:20.296058Z 0 [Warning] CA certificate ca.pem is self signed.
2022-08-28T11:50:20.693210Z 1 [Note] A temporary password is generated for root@localhost: k?QF8pTi9+YC

首先登录mysql,前面的那个是随机生成的。

./mysql -u root -p   #bin目录下


再执行下面三步操作,然后重新登录。

                 

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;  

            
4 配置远程连接:

这里主要执行下面三个命令(先登录数据库)

use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;                                    #刷新

配置mysql全局:

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

5 开放Linux 3306 防火墙 

linux开放指定端口命令
方式一
CentOS:
1、开启防火墙
systemctl start firewalld


2、开放指定端口
     firewall-cmd --zone=public --add-port=6379/tcp --permanent
 命令含义:
       –zone #作用域
       –add-port=6379/tcp #添加端口,格式为:端口/通讯协议
       –permanent #永久生效,没有此参数重启后失效


3、重启防火墙
          firewall-cmd --reload


4、查看端口号


netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 6379 //查看所有1935端口使用情况·

方式二
#开放端口:8080
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

方式三
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
service iptables restart
 

在CentOS 7中防火墙已经由firewalld来管理,Centos7默认安装了firewalld,没有安装的可以用yum 命令安装,与iptables区别不小

yum install firewalld firewalld-config
1
查看防火墙状态

[root@localhost /]# systemctl status firewalld //或者 firewall-cmd --state
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)            //inactive表示为关闭状态
     Docs: man:firewalld(1)

启动防火墙

[root@localhost /]# systemctl start firewalld.service

重启防火墙

firewall-cmd --reload  或者  service firewalld restart

防火墙开放3306端口

 firewall-cmd --zone=public --add-port=3306/tcp --permanent  //--permanent永久生效,没有此参数防火墙重启便失效

防火墙关闭开放的3306端口

 firewall-cmd --zone=public --remove-port=3306/tcp --permanent

禁用防火墙

 systemctl stop firewalld

设置开机启动

systemctl enable firewalld

停止并禁用开机启动

systemctl disable firewalld

查看端口列表

firewall-cmd --permanent --list-port
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿锐丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值