Linux中使用tar包,指定路径安装MySQL(大版本相同)不同于编译
2021/7/2 2:21:53
本文主要是介绍Linux中使用tar包,指定路径安装MySQL(大版本相同)不同于编译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.检查服务器是否已安装MySQL,如已安装则将其卸载:
rpm -qa|grep mysql (-q表示使用询问模式,当遇到任何问题时,rpm指令会先询问用户。-a表示查询所有套件。)[新机无mysql]
- whereis mysql
- rm -rf /usr/lib64/mysql/
- rm -rf /usr/share/mysql/
- find / -name mysql
- rm -rf /etc/selinux/targeted/active/modules/100/mysql
- rm -rf /var/tmp/dracut.6oP6zK/initramfs/usr/lib64/mysql
在这里插入图片描述
2.检查服务器是否已安装Mariadb,如已安装则将其卸载:
- rpm -qa|grep mariadb
- rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
- rpm -e --nodeps xxx(文件名) //卸载 (-e表示删除指定的套件)
- rm -rf (路径)删除(-r表示迭代,-f表示不询问,强制删除)
3.上传MySQL包,并解压
- tar -zvxf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz (-z表示通过gzip指令处理备份文件。
-v表示显示指令执行过程。
-x表示从备份文件中还原文件。
-f表示指定备份文件。)
4.建议改名
mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql
把改名后的mysql移动到/usr/local下
mv mysql /usr/local/
5.添加MySQL组和用户
groupadd mysql
useradd -r -g mysql mysql (-r表示建立系统账号,-g表示指定所属群组)
6.创建mysql数据目录,回到根目录
mkdir -p /data/mysql
7.授权
chown mysql:mysql -R /data/mysql
8.创建配置文件
vi /etc/my.cnf
如下内容:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
保存退出!
9.初始化MySQL
进入mysql的bin目录
cd /usr/local/mysql/bin/
进行初始化:
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看初始化密码(记得保存密码):
vi /data/mysql/mysql.err
10.启动MySQL服务
service mysql start
11.进入数据库
mysql -uroot -p
建议更改密码
(1)mysqladmin -u root -p’旧密码’ password ‘新密码’
(2)alter user ‘root’@‘localhost’ identified by ‘123’;(保证密码永不过期)
flush privileges;(MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。
注意:
如果报错信息如下
A.service mysql启动失败 提示unit not found 解决办法
解决:
将找到的路径复制到 /etc/init.d/mysql路径中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
然后重启
B.mysql command not found
解决:
第一种即可:增加软连接:ln -s /usr/local/mysql/bin/mysql /usr/bin
2. 找到mysql/bin的位置,正常情况下是 /usr/local/mysql/bin在最后添加:export PATH=$PATH:/usr/local/mysql/bin 保存退出。
额外—MySQL开机自启 (有待验证)
如果不想每次开机都去启动MySQL服务,那么就设置吧
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 将服务文件拷贝到init.d下,并重命名为mysql
确保 /etc/init.d/ 目录下有mysql.server
赋予可执行权限 chmod +x /etc/init.d/mysql
添加服务 chkconfig --add mysql
显示服务列表 chkconfig --list 如果看到mysql的服务,并且3,4,5都是on的话则成功如果是off,则键入chkconfig --level 345 mysql on
reboot重启电脑
netstat -na | grep 3306,如果看到有监听说明服务启动了
注意:大版本内的升级小版本
只要把对应的版本包解压,tar 然后通过ln -s链接到老版本的地方
比如这个例子就是老版本在/usr/local/mysql ln -s 高版本解压出来的目录 /usr/local/mysql
一定要把老版本备份
如:mysql-5.7.23升级mysql-5.7.25
1.关闭数据库
pkill -9 mysql
或
/usr/loca/mysql/bin/mysqladmin -uroot -p密码- -S /tmp/mysql_3306.sock(根据实际路径修改) shutdown
2.上传mysql最新版本软件并解压。
cd /tmp/update
tar zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/
chown -R mysql.mysql mysql-5.7.25-linux-glibc2.12-x86_64
3.添加软连
cd /usr/local/
ln -s mysql-5.7.25-linux-glibc2.12-x86_64 mysql
4.切到新软件目录启动数据库
chown -R mysql:mysql ./*
./bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf & (指定配置文件启动)
5.登录测试
/usr/local/mysql/bin/mysql -uroot -p密码 -S /usr/local/mysql/mysql.sock
+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++
CentOS7中使用systemctl工具管理启动和停止MySQL
编辑如下文件:
1.vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
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
保存退出!
2,重新加载一下服务的配置文件
systemctl daemon-reload
3.启动mysql
systemctl start mysqld.service
注意:需要注意的地方(上方的配置文件中)
(1. --defaults-file=/etc/my.cnf 这个是指向mysql的配置文件,要根据实际情况来管理
2.如果一个服务器上启动多个mysql实例要怎么使用systemctl启动呢?
可以使用命名不同的方式来管理不同的实例,例如例子中使用的服务名是mysqld.service
可以写成mysql3306.service 和mysql3307.service 这样里面的配置文件也要指定相应的位置。否则启动容易出问题)
这篇关于Linux中使用tar包,指定路径安装MySQL(大版本相同)不同于编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-25MySQL报错Duplicate entry '0' for key 'PRIMARY'
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享