Centos离线搭建Mysql完整过程,图文详解
目录
1、准备安装包
1、libaio安装包
下载地址:
http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm
2、mysql安装包
提前去官网下载如下安装包
官网下载地址:官方地址
首页只展示最新版8.0的包,通过以下操作切换至老板本下载。根据系统类型下载对应包。
2、传输安装包
下载好之后,利用远程传输工具,将文件导入centos系统。
# 放置安装包的目录
/usr/local/src
# 查看
cd /usr/local/src;ls
(可使用工具:mobaxterm、filezilla、xftp。或者自行利用vmware设置虚拟机共享文件夹也可行,具体操作可百度一下。)
传输完成后,在相应目录可以查找到。
3、解压安装包
# 解压安装包
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
# 修改文件夹名称
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql
4、安装流程
1、安装libaio包
# 防止初始化报错
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
2、创建用户组mysql
# 创建用户组mysql
groupadd mysql
# 创建用户mysql并将其添加到用户组mysql
useradd -r -g mysql mysql
# dir1、创建data目录,存放初始化后的数据
mkdir /usr/local/src/mysql/data
# 赋予读写权限
chown -R mysql mysql/
# 修改文件用户组
chgrp -R mysql mysql/
3、创建配置文件
# file1、mysql配置文件
vi /etc/my.cnf
# file2、创建mysqld.log日志文件
cd /var/log/
# wq!保存
vim mysqld.log
# 赋予文件读写权限
chmod 777 mysqld.log
# 更改文件用户及用户组
chown mysql:mysql mysqld.log
# dir2、创建mysqld.pid文件路径
cd /var/run/
mkdir mysqld
# 更改文件夹权限
chmod 777 mysqld
cd mysqld
# file3、新建mysqld.log文件
vim mysqld.pid
# 赋予mysql权限
chmod 777 mysqld.pid
chown mysql:mysql mysqld.pid
执行之后mysqld.pid文件执行权限情况如下:
配置文件内容:
[mysqld]
port=3306
user=mysql
basedir=/usr/local/src/mysql
datadir=/usr/local/src/mysql/data
socket=/usr/local/src/mysql/data/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
bind-address=0.0.0.0
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character_set_server=utf8
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
collation-server=utf8_unicode_ci
[client]
port = 3306
socket=/usr/local/src/mysql/data/mysql.sock
default-character-set = utf8
[mysql]
default-character-set = utf8
4、初始化数据库
# 初始化数据库(重点)
/usr/local/src/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/src/mysql --datadir=/usr/local/src/mysql/data --lc_messages_dir=/usr/local/src/mysql/share
# 部分设备用以上初始化命令会报错,可直接简单初始化
/usr/local/src/mysql/bin/mysqld --initialize --user=mysql
5、查看初始密码
cat /var/log/mysqld.log
# 或直接截取内容查找
cat /var/log/mysqld.log | grep "temporary password"
密码处在最后一行,关注此处:root@localhost: 初始密码
6、配置快捷启动
- 1、建立mysql.sock文件
# 初始化之后创建,否则会导致初始化失败
cd /usr/local/src/mysql/data/
vim mysql.sock
# 赋予文件读写权限
chmod 777 mysql.sock
chown mysql:mysql mysql.sock
# 建立之后重启服务
/usr/local/src/mysql/support-files/mysql.server restart
- 2、此时能够使用以下命令启动mysql,但无法使用service和systemctl两命令快捷启动,需要建立软链接。
# 启动服务
/usr/local/src/mysql/support-files/mysql.server start
- 3、建立软链接
# 添加软链接,方便快捷启动
ln -s /usr/local/src/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/src/mysql/bin/mysql /usr/bin/mysql
- 4、查看软链接是否成功
ll /etc/init.d/mysql;ll /usr/bin/mysql
7、启动服务
进入mysql,修改初始密码,运行远程连接(这里执行完后,密码将变成:你设置的新密码)
# 启动服务
systemctl start mysql
service mysql start
# 查看服务状态
systemctl status mysql
service mysql status
# 停止服务
systemctl stop mysql
service mysql stop
# 重启服务
systemctl restart mysql
service mysql restart
登录mysql
# 登录mysql,执行之后输入初始密码
mysql -u root -p
5、修改默认密码
# 密码设置为123456,永不过期
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
# 刷新权限
flush privileges;
6、开放远程连接
# 以下操作均在mysql中输入
# 切换至mysql数据库
use mysql;
# 远程用户建立,更新登录的用户所允许的IP地址为任意
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
# 或执行以下命令
update user set user.Host='%' where user.User='root';
# 刷新权限
flush privileges;
# 查看配置是否生效
select host,user from user;
7、添加系统路径(环境变量)
vim /etc/profile
export PATH=/usr/local/src/mysql/bin:$PATH
source /etc/profile
8、设置开机启动
# 将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/src/mysql/support-files/mysql.server /etc/init.d/mysqld
# 赋予可执行权限
chmod 777 /etc/init.d/mysqld
# 添加服务
chkconfig --add mysqld
9、测试连接
远程登录,按照配置的账号和密码登录即可,端口3306。
至此搭建完毕,大功告成~~
学而时习之,不亦乐乎~