Mysql 数据库二进制安装

二进制安装(无需编译)

①下载二进制包

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz

②添加用户

groupadd -g 27 mysql && useradd -g 27 -u 27 -M -s /sbin/nologin mysql

③解压

tar xzvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz -C /usr/local

④更改配置文件名

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

⑤授权

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

⑥创建日志文件及授权

touch /var/log/mysql.log && chown mysql:mysql /var/log/mysql.log

⑦编辑配置文件

vim /etc/my.cnf (原本配置全部注释,复制以下内容)

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/data/mysql.sock

port=3306

default-storage-engine = innodb

innodb_large_prefix=on

innodb_file_per_table = on

max_connections = 10000

collation-server = utf8_general_ci

character_set_server=utf8

user=mysql

[client]          

port = 3306

socket = /usr/local/mysql/data/mysql.sock

default-character-set = utf8

[mysqld_safe]

log-error=/var/log/mysql.log

#参数解释

#这些MySQL配置的参数含义如下:

[mysqld]

#mysql服务相关的配置

basedir=/usr/local/mysql #MySQL安装目录

datadir=/usr/local/mysql/data #数据库数据文件存放目录

socket=/usr/local/mysql/data/mysql.sock #MySQL使用的Unix socket文件路径;mysql socket的作用:用于应用程序间的通信。让本地客户端优先使用socket文件连接,获得更好的性能。限制只有有权限访问该socket文件的进程才能连接MySQL,提高安全性

port=3306 #MySQL监听的TCP/IP 端口号

default-storage-engine = innodb #默认的存储引擎,这里使用的是Innodb

innodb_large_prefix=on #启用Innodb的大VARCHAR和TEXT列,开启后支持更长的列和索引;不开启此参数时,InnoDB支持的VARCHAR最大长度为255字节,TEXT最大长度为65535字节。开启此参数后,InnoDB支持的VARCHAR最大长度提升到65535字节,TEXT最大长度提升到163830字节。

innodb_file_per_table = on #开启每个表使用单独的表空间文件

max_connections = 10000 #最大允许的并发连接数

collation-server = utf8_general_ci #设置MySQL服务器(全局)的默认字符集和校对规则。utf8:表示字符集为utf8,可以表示绝大部分的国际字符;_general_ci:表示校对规则为utf8_general_ci, 其中:general:表示最常用的比较规则,ci:表示忽略字符大小写(case insensitive)

character_set_server=utf8 #设置了MySQL服务器(整个实例)的默认字符集。

#MySQL支持很多种字符集,例如:

utf8:多字节字符集,支持绝大部分国际字符

latin1:单字节字符集,只支持西欧语言字符

gbk:支持简体中文字符

big5:支持繁体中文字符

user=mysql #MySQL服务运行的用户

[client] 

#客户端配置

port = 3306 #(在[client]部分)表示客户端连接MySQL时使用的端口

socket = /usr/local/mysql/data/mysql.sock

#(在[client]部分)表示客户端连接MySQL时使用的Unix socket文件路径

default-character-set = utf8

#(在[client]部分) 表示客户端连接时使用的默认字符集

[mysqld_safe]

#[mysqld_safe]部分是针对MySQL的mysqld_safe启动脚本的配置

log-error=/var/log/mysql.log

#指定mysqld_safe脚本的日志文件路径为/var/log/mysql.log。

⑧添加环境变量

cat >>/etc/profile

export PATH=${PATH}:/usr/local/mysql/bin

EOF

source /etc/profile (加载 /etc/profile 文件中的环境变量和配置的命令)

⑨初始化数据库

(随机密码,在最后一行)

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

⑩添加启动脚本

vim /usr/lib/systemd/system/mysql.service(编辑以下内容)

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=MySQL :: MySQL 8.1 Reference Manual :: 2.5.9 Managing MySQL Server with systemd

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

LimitNOFILE = 5000 #设置操作系统默认允许mysql进程最大打开文件的数量

⑪更新自启动服务,查看工作端口

#重新加载systemd管理器的unit配置文件

systemctl daemon-reload

systemctl enable --now mysql.service

systemctl restart mysql

systemctl enable --now mysql

netstat -ntpl | grep "3306"

⑫登陆mysql

systemctl restart mysql

mysql -u root -p"aka.jpy#q9rT"

⑬修改密码

alter user 'root'@'localhost' identified by '123456'; #修改密码为123456

flush privileges; 刷新

或者:mysqladmin -uroot -p'旧密码' password '新密码'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值