Linux(Centos9)安装MySQL5.7保姆级教程

  1. 安装mysql
  2. bug处理(没遇到可不看)
  3. 添加mysql为后台服务和开机自启动
  4. 放行3306端口,进行远程连接

1.安装mysql

本文档使用的是root用户,需要linux基础知识,推荐使用MobaXterm远程连接工具

下载地址:点击下载地址
在这里插入图片描述
(1)创建目录,将安装包放置在/usr/local/mysql目录中,建议使用MobaXterm远程连接软件上传安装包

#创建mysql目录
mkdir -p /usr/local/mysql
#进入到mysql目录
cd /usr/local/mysql

(2)解压安装包

#解压压缩包
tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
#将解压后的文件命名为mysql5.7
mv mysql-5.7.24-linux-glibc2.12-x86_64  mysql5.7
#删除mysql压缩包,可以不删留着
rm -f  mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

(3) 创建mysql用户和用户组

#创建mysql用户组
groupadd mysql
#创建mysql用户并加入到mysql组
useradd -r -g mysql mysql

(4)安装所需要的环境

#mysql依赖libaio库
yum install libaio

(5) 创建存放数据库的数据目录

mkdir -p /usr/local/mysql/mysql5.7/data

(6 )更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

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

(7) 初始化mysql,务必记住初始化输出日志末尾的临时密码

#进入到mysql5.7的bin目录
cd /usr/local/mysql/mysql5.7/bin
#执行命令初始化mysql
./mysqld  --initialize  --user=mysql  --basedir=/usr/local/mysql/mysql5.7  --datadir=/usr/local/mysql/mysql5.7/data

在这里插入图片描述
(8)进入到系统/etc目录,创建配置文件my.cnf

vim /etc/my.cnf

#里面改成如下配置,全部复制粘贴即可
[mysqld]
basedir=/usr/local/mysql/mysql5.7
datadir=/usr/local/mysql/mysql5.7/data
socket=/var/lib/mysql/mysql.sock
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
socket=/var/lib/mysql/mysql.sock

[mysql]
socket=/var/lib/mysql/mysql.sock

(9)创建配置文件my.cf后,创建日志文件并赋予权限

mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown mysql:mysql /var/log/mariadb/mariadb.log
chmod 755 /var/log/mariadb/mariadb.log

mkdir -p /var/lib/mysql
chown mysql:mysql /var/lib/mysql
chmod 755 /var/lib/mysql

(10)启动mysql服务器

./usr/local/mysql/mysql5.7/support-files/mysql.server start

(11)设置环境变量

#编辑环境变量
vim /etc/profile

#在文件最后面加入下面配置
export MYSQL_HOME=/usr/local/mysql/mysql5.7
export MYSQL_PATH=${MYSQL_HOME}/bin:${MYSQL_HOME}/lib
export PATH=$PATH:/usr/local/mysql/mysql5.7/bin

#保存后激活环境变量
source /etc/profile

(12)登录mysql,修改密码为123456(密码为第七部生成的临时密码)

#登录mysql
mysql -u root -p

#设置你的密码
#以下为sql语句
set password for root@localhost = password('123456');

(13)开放远程连接(生产环境不建议开放)

#以下为sql语句
use mysql;
#设置远程登录
update user set user.Host='%' where user.User='root';
#刷新权限
flush privileges;
#退出mysql
exit

2.bug处理(没遇到可不看)

(1)mysql: error while loading shared libraries: libncurses.so.5: ca

#将文件复制改名为libncurses.so.5
cp /usr/lib64/libncurses.so.6  /usr/lib64/libncurses.so.5

(2) mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

#将文件复制改名为libtinfo.so.5
cp /usr/lib64/libtinfo.so.6  /usr/lib64/libtinfo.so.5

3.添加mysql为后台服务和开机自启动

(1)创建服务配置文件

#将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql5.7/support-files/mysql.server  /etc/init.d/mysqld
#赋予可执行权限
chmod +x /etc/init.d/mysqld
#创建mysqld.service配置文件
vim /usr/lib/systemd/system/mysqld.service
#以下为配置文件内容
[Unit]
Description=MySQL Server
After=network.target
After=syslog.target
[Service]
User=mysql
Group=mysql
Type=forking
PermissionsStartOnly=true
ExecStart= /etc/init.d/mysqld start
ExecStop= /etc/init.d/mysqld stop
ExecReload= /etc/init.d/mysqld restart
LimitNOFILE = 5000
[Install]
WantedBy=multi-user.target

(2)启动mysql服务

#重新加载系统服务
systemctl daemon-reload
#开启mysql服务
systemctl start mysqld.service
#设置开机自启项
systemctl enable mysqld.service
#查看开机自启项,左边是服务名称,右边是状态
#enabled是开机启动,disabled是开机不启动
systemctl list-unit-files

4.放行3306端口,进行远程连接

#开启端口,如3306 MySQL数据库端口

#zone作用域,add-port=80/tcp添加端口,格式为:端口/通讯协议

#permanent永久生效,没有此参数重启后失效

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

#开启3306端口后,必须重启防火墙

systemctl restart firewalld.service

安装结束,可以使用本机连接工具如Nacivat连接MySQL了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值