Linux下部署MySQL-5.7.35


Linux下部署MySQL-5.7.35


一、安装依赖


CentOS6或redHat6版本下载地址。


http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm


CentOS7或redHat7版本下载地址。


http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm


检查依赖包libaio*,如果存在则不用安装。


[root@localhost Desktop]# rpm -qa|grep -i libaio


libaio-0.3.107-10.el6.x86_64


安装libaio


[root@localhost Desktop]# rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm


warning: libaio-0.3.107-10.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY


Preparing...                ########################################### [100%]


   1:libaio                 ########################################### [100%]


[root@localhost Desktop]#


二、下载mysql安装包文件,上传到LINUX服务器


1、根据服务器类型,到官网下载5.7.x的最新版

下载地址:MySQL :: Download MySQL Community Server


MySQL :: Download MySQL Community Server (Archived Versions)

 
我下载的是这


2、上传至服务器,解压并改名并移动到/usr/local/mysql(注意/usr/local/mysql为mysql默认路径,可自行调整,本人采用保留历史版本和数据,重新部署新版本的方式,部署路径为/usr/local/mysql/mysql-5.7.35,如下图)

#cd {安装包上传路径}


解压


#tar -xzvf mysql-5.7.35-el7-x86_64.tar.gz


移动


#mv mysql-5.7.35-el7-x86_64  /usr/local/mysql 


改名mysql-5.7.35(按需


三、开始配置部署


1、创建Data数据存储目录


#cd /usr/local/mysql/mysql-5.7.35


#mkdir data


2、创建mysql的用户组


(1)查看是否存在MySQL组:


#grep mysql /etc/group


注:mysql是组名,x是密码段,表示没有设置密码,501表示的是GID(组id)


(2)不存在创建MySQL组:


#groupadd mysql


(3)删除MySQL组【仅供了解,按需操作】:


#groupdel mysql


3、创建mysql用户,加入mysql组,主目录为/usr/local/mysql/mysql-5.7.35


(1)查看是否存在MySQL用户:


#grep mysql /etc/passwd


(2)不存在创建MySQL用户:


#useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql/mysql-5.7.35


 (3)删除mysql用户【仅供了解,按需操作】:


#userdel mysql


(4)使用groups查看用户mysql所在的组:


#groups mysql

4、将安装目录所有者及所属组改为mysql(二选一)

  (1)方法一:


#chown -R mysql:mysql /usr/local/mysql


(2)方法二:


#chown -R mysql /usr/local/mysql/mysql-5.7.35


#chgrp -R mysql /usr/local/mysql/mysql-5.7.35


#chown -R mysql /usr/local/mysql/mysql-5.7.35/data


#chgrp -R mysql /usr/local/mysql/mysql-5.7.35/data


5、调整MYSQL命令软连接,用于linux执行mysql命令(具体用法是:ln -s 源文件 目标文件。源:实际存放文件的位置


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


#ln -s /usr/local/mysql/mysql-5.7.35/bin/mysqld /usr/bin


#ln -s /usr/local/mysql/mysql-5.7.35/bin/mysql_ssl_rsa_setup /usr/bin


如/usr/bin路径下已存在mysql、mysqld、mysql_ssl_rsa_setup的软连接:


(1)直接使用ln -snf命令覆盖:


#ln -snf /usr/local/mysql/mysql-5.7.35/bin/mysql /usr/bin


#ln -snf /usr/local/mysql/mysql-5.7.35/bin/mysqld /usr/bin


#ln -snf /usr/local/mysql/mysql-5.7.35/bin/mysql_ssl_rsa_setup /usr/bin


(2)先删除软连接:


#cd /usr/bin


#rm -rf ./mysql


#rm -rf ./mysqld


#rm -rf ./mysql_ssl_rsa_setup


再执行ln -s挂接


6、初始化数据库,并生成root随机密码。这一步在bin下运行


#cd /usr/local/mysql/mysql-5.7.35/bin


#mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.35 --datadir=/usr/local/mysql/mysql-5.7.35/data


此处需要注意记录生成的临时密码,在localhost:后面


千万千万千万要记录下初始密码#1yIg_w*y&na



7、配置ssl连接用的证书(如果不使用ssl连接数据,可以不执行)


#mysql_ssl_rsa_setup  --datadir=/usr/local/mysql/mysql-5.7.35/data


8、创建my.cnf配置文件(win版本叫my.ini),5.7.18版本开始,二进制安装包support-files里不再包含my-default.cnf文件,需要自己创建。没有这个文件mysql也能启动,mysql会自动检查这个路劲有没有该文件,有则自动用该配置文件启动。


(1)linux中/etc目录下一般已有my.cnf文件,没有则新建。


#cd /etc/


(2)编辑my.cnf文件


#vim /etc/my.cnf


参考:


[mysqld]


user = mysql


port = 3306


server_id = 1


socket=/tmp/mysql.sock


basedir =/usr/local/mysql/mysql-5.7.35


datadir =/usr/local/mysql/mysql-5.7.35/data


character-set-server=utf8


sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


#缓存包允许最大值


max_allowed_packet = 100M


#设置默认引擎


default-storage-engine=INNODB


#innodb分开数据文件,默认分开


#innodb_file_per_table=1


# 最大链接值从100增加到512


max_connections=512


# 错误链接从10改到100


max_connect_errors = 100


#innodb缓存数据和索引的容量,设置为 RAM 大小的 50%-70%


innodb_buffer_pool_size=6G


#设置表名忽略大小写


lower_case_table_names=1


[client]


socket=/tmp/mysql.sock


port=3306


#客户端字符类型,与服务端一致就行,建议utf8


default-character-set=utf8


9、将mysql加入系统服务


(1)复制文件到init.d里面


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


(2)修改文件内容,填写mysql安装目录和数据目录


#vim /etc/init.d/mysqld



10、启动mysql


#service mysqld start


11、加入到环境变量配置文件中,使在终端可以直接用里面的程序,实现通过 : mysql -u root -p 登录。


#vi /etc/profile


(1)一直往下找到之前加入的环境变量,在下方加入


#export MYSQL_HOME=/usr/local/mysql/mysql-5.7.35

#export PATH=$MYSQL_HOME/bin:$PATH


按Esc,输入:wq保存退出


(2)让修改后的环境变量配置文件生效


#source /etc/profile


12、利用前面生成的随机密码修改root密码


#mysql -u root -p


输入之前记录的密码,然后修改密码


mysql>set password=password('输入修改的密码');


或者


mysql>alter user user() identified by '输入修改的密码';


13、设置root账户的host地址为%任何地址可以访问(修改了才可以远程连接)


mysql>grant all privileges on *.* to 'root'@'%' identified by '输入远程登录密码' with grant option ;


直接生效


mysql>flush privileges;


退出mysql


mysql>quit


验证新密码是否登录成功:


#mysql -u root -p


进入数据库“mysql”是库名


mysql>use mysql;


查看所有数据库


mysql>show databases;


查看所有用户


mysql>select host,user from user;


四、收尾


1、设置防火墙开通3306端口


情况1:CentOS6或RedHat6版本


#vi /etc/sysconfig/iptables


添加到默认的22端口这条规则的下面


#-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT


#最后重启防火墙使配置生效


#/etc/init.d/iptables restart     


情况2:CentOS7或RedHat7版本


#firewall-cmd --permanent --zone=public --add-port=3306/tcp


#重启防火墙


#firewall-cmd --reload


2、设置开机启动 [root@CDH-141 mysql]# chkconfig --level 35 mysqld on [root@CDH-141 mysql]# chkconfig --list mysqld


[root@CDH-141 mysql]# chmod +x /etc/rc.d/init.d/mysqld [root@CDH-141 mysql]# chkconfig --add mysqld [root@CDH-141 mysql]# chkconfig --list mysqld


[root@CDH-141 mysql]# service mysqld status


MySQL running (26122)[  OK  ]


到此为止MySQL数据库安装完毕


3、通过Natvicat工具测试连接MySQL


如果正确连接,则安装成功。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值