Linux CentOS7 安装MySQL5.7

注意:安装之前请检查以前是否已经安装了MySQL数据库,再进行安装操作

检查命令:

rpm -qa|grep -i mysql

执行之后,如果没有打印出任何信息,即为未安装过MySQL数据库,就可以进行安装操作了

下载安装包(也可以使用命令在线下载..省略)

下载地址:https://dev.mysql.com/downloads/mysql/

 注册个oracle账号下载即可

 安装依赖环境

yum -y install perl perl-devel autoconf libaio

 

把下载好的安装包上传到Linux上

解压:

tar zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 

移动到/usr/local/ 目录下 并重命名为 mysql

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

 进入/usr/local/查看下:

添加mysql组和用户:

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

创建数据目录并赋权

进入cd /usr/local/mysql/目录

创建data数据目录并赋予权限:

mkdir -p  /data

chown mysql:mysql -R /data 

 

初始化数据库 

进入cd /usr/local/mysql/bin/ 目录

初始化(注意:5.7+版本初始化/ect/my.cnf有的会没有my.cnf文件,需要自己创建):

进入etc目录运行命令:touch my.cnf

然后编辑my.cnf文件,并添加以下内容:

[client]

port = 3306

socket = /tmp/mysql.sock

[mysqld]

####基础设置####

#Mysql服务的唯一编号 每个mysql服务Id需唯一

server-id = 1

#服务端口号 默认3306

port = 3306

#mysql安装根目录

basedir = /usr/local/mysql

#mysql数据文件所在位置

datadir = /usr/local/mysql/data

#临时目录 比如load data infile会用到

tmpdir  = /tmp

#设置socke文件所在目录

socket  = /tmp/mysql.sock

#只能用IP地址检查客户端的登录,不用主机名

skip_name_resolve = 1

#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)

character-set-server = utf8mb4

#数据库字符集对应一些排序等规则,注意要和character-set-server对应

collation-server = utf8mb4_general_ci

#设置client连接mysql时的字符集,防止乱码

init_connect='SET NAMES utf8mb4'

#是否对sql语句大小写敏感,1表示不敏感

lower_case_table_names = 1

#最大连接数

max_connections = 400

#最大错误连接数

max_connect_errors = 1000

#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值

explicit_defaults_for_timestamp = true

#SQL数据包发送的大小,如果有BLOB对象建议修改成1G

max_allowed_packet = 128M

#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭

#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效

interactive_timeout = 1800

wait_timeout = 1800

#内部内存临时表的最大值 ,设置成128M。

#比如大数据量的group by ,order by时可能用到临时表,

#超过了这个值将写入磁盘,系统IO压力增大

tmp_table_size = 134217728

max_heap_table_size = 134217728

#禁用mysql的缓存查询结果集功能

#后期根据业务情况测试决定是否开启

#大部分情况下关闭下面两项

query_cache_size = 0

query_cache_type = 0

###其它设置###

[mysqldump]

quick

max_allowed_packet = 128M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 256k

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

[mysqld_safe]

#增加每个进程的可打开文件数量

open-files-limit = 28192

然后才继续运行初始化内容

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

查看初始化数据库的密码文件:

 

 启动MySQL服务并修改root密码

先将mysql.server放置到/etc/init.d/mysql中

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

启动MySQL服务:

service mysql start 

查看MySQL服务进程:

ps -ef|grep mysql 

到这里MySQL5.7数据库就已经安装成功了!

修改密码

首先登录mysql,进入bin目录执行以下命令:

./mysql -u root -p

 复制上面数据库初始化后的密码文件中的密码:

粘贴进去即可:

注意:粘贴的时候密码是看不见的,粘贴完成后直接回车即可 

 修改密码:

SET PASSWORD = PASSWORD('你要的密码');

设置密码永不过期并刷新权限:

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES; 

 设置可远程连接访问数据库

use mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '远程连接密码' WITH GRANT OPTION; 

刷新权限:

FLUSH PRIVILEGES; 

退出:

quit;

 开启端口3306

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

重启防火墙

firewall-cmd --reload 

查看已经开放的端口

firewall-cmd --list-ports 

测试远程连接数据库:

设置可在任何目录下使用命令进行登录MySQL 

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

mysql -uroot -p

 

MySQL注册成服务,开机自启动 

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

输入y确认覆盖即可 

赋予权限:

chmod +x /etc/init.d/mysql 

添加为服务: 

chkconfig --add mysql 

查看服务列表: 

chkconfig --list 

看到3、4、5状态为on 或者为 开  则表示成功。

如果是 关 或者 off 则执行一下:

chkconfig --level 345 mysql on

重启Linux:

reboot

重启后再次查看服务列表、登录MySQL:

 完毕!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鸿业远图lwy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值