《转》linux安装mysql

linux centos7下源码 tar安装mysql5.7.22或mysql5.7.20 图文详解

之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一。。。

现在用tar包安装5.7.22和5.7.20一样的   5.7.20之后的和之前的版本还是有点不一样的

官网地址 https://dev.mysql.com/downloads/mysql/

 

1. 安装依赖  yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel

 cd /usr/local/src

链接:https://pan.baidu.com/s/18tSRnB7FBb7Ak9Sr665Jeg 密码:86nj  这是5.7.22版本,下载上传到服务器
 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz(不能下载了)

如果上面链接不能下载,去官网找,下面的步骤都一样

 wget  https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz(用这个,后续的步骤都一样)

 

解压     tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz       

将解压的复制到   /usr/local/mysql 目录       cp -r mysql-5.7.22-linux-glibc2.12-x86_64   /usr/local/mysql

2、添加系统mysql组和mysql用户 

添加系统mysql组     groupadd mysql

添加mysql用户 useradd -r -g mysql mysql (添加完成后可用id mysql查看)

3、安装数据库

切到mysql目录 cd /usr/local/mysql

修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./

安装数据库 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成了临时密码

(看到有的报这个错
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方法:yum install -y libaio  //安装后在初始化就OK了)

执行以下命令创建RSA private key  (图在最后)

  bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./

修改当前data目录拥有者为mysql用户 chown -R mysql:mysql data

4、配置my.cnf

vim /etc/my.cnf    (直接把下面内容复制上就行)

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写
lower_case_table_names = 1
#不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

 

添加开机启动     cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

修改   vim /etc/init.d/mysqld   

添加路径 在46行   

 basedir=/usr/local/mysql
 datadir=/usr/local/mysql/data

 

5、启动mysql   service mysqld start 

 

 加入开机起动    chkconfig --add mysqld  

6、登录修改密码 mysql -uroot -p 上面初始化时的密码

如果出现错误 需要添加软连接  ln -s /usr/local/mysql/bin/mysql /usr/bin

第一件事先修改密码

alter user 'root'@'localhost' identified by 'root';   
flush privileges;    #刷新权限
GRANT ALL PRIVILEGES ON *.* TO 'root1'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;   #授权新用户

 

 至此还不能远程连接,因为需要关闭linux防火墙,或者开放3306端口,见下面

n转自:https://blog.csdn.net/z13615480737/article/details/80019881

 --------------------- 
作者:舰_长 
来源:CSDN 
原文:https://blog.csdn.net/z13615480737/article/details/80019881 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

linux系统对外开放3306、8080等端口,防火墙设置

我们很多时候在liunx系统上安装了web服务应用后(如tomcat、apache等),需要让其它电脑能访问到该应用,而linux系统centos、redhat等)的防火墙是默认只对外开放了22端口。

 linux系统的端口设置在/etc/sysconfig/iptables文件中配置。使用编辑器打开该文件。内容如下:

 

 

[plain] view plain copy
 
  1. # Firewall configuration written by system-config-firewall  
  2. # Manual customization of this file is not recommended.  
  3. *filter  
  4. :INPUT ACCEPT [0:0]  
  5. :FORWARD ACCEPT [0:0]  
  6. :OUTPUT ACCEPT [0:0]  
  7. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
  8. -A INPUT -p icmp -j ACCEPT  
  9. -A INPUT -i lo -j ACCEPT  
  10. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
  11. -A INPUT -j REJECT --reject-with icmp-host-prohibited  
  12. -A FORWARD -j REJECT --reject-with icmp-host-prohibited  
  13. COMMIT  
网上说的是如下code
[plain] view plain copy
 
  1. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3001 -j ACCEPT  
我在CentOS6.5中测试上面的代码,不能成功。
 

如果我们需要对外开放80端口,则上面文件中添加如下code

 

[plain] view plain copy
 
  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT  

同时还需要注意的是,这段代码需要加入到

 

[plain] view plain copy
 
  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
之后,否则端口也不能打开。最后的配如下:
[plain] view plain copy
 
  1. # Firewall configuration written by system-config-firewall  
  2. # Manual customization of this file is not recommended.  
  3. *filter  
  4. :INPUT ACCEPT [0:0]  
  5. :FORWARD ACCEPT [0:0]  
  6. :OUTPUT ACCEPT [0:0]  
  7. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
  8. -A INPUT -p icmp -j ACCEPT  
  9. -A INPUT -i lo -j ACCEPT  
  10. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
  11. -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT  
  12. -A INPUT -j REJECT --reject-with icmp-host-prohibited  
  13. -A FORWARD -j REJECT --reject-with icmp-host-prohibited  
  14. COMMIT  
编辑上面的文件 需要提供su权限.
 
保存上面的文件后,在终端运行如下命令:更新防火墙配置
[plain] view plain copy
 
  1. service iptables restart  
 
下面这个命令可以看到开放的端口
[plain] view plain copy
 
  1. /sbin/iptables -L -n  
 
 
下面的命令可以关闭/打开防火墙(需要重启系统)
[plain] view plain copy
 
  1. 开启: chkconfig iptables on  
  2. 关闭: chkconfig iptables off  
下面的代码可以启动和停止防火墙(立即生效,重启后失效)
[plain] view plain copy
 
  1. 开启: service iptables start   
  2. 关闭: service iptables stop  
posted @ 2019-03-06 18:18  程序员Kevîn  阅读(253)  评论(0编辑  收藏  举报