centos7离线安装mysql
mysql版本选择:
下载mysql安装包
官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html
卸载Mariadb
Centos7将默认数据库mysql替换成了Mariadb,如果想继续使用mysql需要卸载Mariadb 再安装mysql(yum命令安装MySQL5.7不用手动去卸载)
# 查看 (mariadb是从mysql来的的一个分支,原因:防止闭源)
rpm -qa|grep mariadb
# 卸载
rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
# 注意 如果不卸载 在启动MySQL服务时会出现如下报错
Starting LSB: start and stop MySQL...
Starting MySQL.210116 16:56:51 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exi...er 'mysql'.
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
mysql.service: control process exited, code=exited status=1
Failed to start LSB: start and stop MySQL.
Unit mysql.service entered failed state.
mysql.service failed.
卸载原有mysql,没有跳过此步骤
- 查看本机是否已经安装过MySQL
rpm -qa | grep -i mysql
- 查找mysql文件,并将其删除
find / -name mysql
whereis mysql
- 将find命令和whereis命令查询到的mysql文件全部删除
rm -rf 查询到的mysql路径
- 删除mysql配置文件
rm /etc/my.cnf
- 确认是否全部删除mysql
rpm -qa | grep -i mysql
上传解压重命名安装包
上传到usr/local目录下
# 解压到当前目录
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
# 重命名解压包
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql5.7.31
创建数据目录
cd /usr/local/mysql-5.7.31
mkdir data
mkdir log
mkdir tmp
创建用户组与用户权限
groupadd mysql
useradd -g mysql mysql
passwd mysql
chown -R mysql:mysql /usr/local/mysql-5.7.31
创建配置表
vi /etc/my.cnf
内容如下:
[client]
port = 3306
socket = /usr/local/mysql-5.7.31/tmp/mysql.sock
[mysqld]
port = 3306
basedir = /usr/local/mysql-5.7.31
datadir = /usr/local/mysql-5.7.31/data
tmpdir = /usr/local/mysql-5.7.31/tmp
socket = /usr/local/mysql-5.7.31/tmp/mysql.sock
pid-file = /usr/local/mysql-5.7.31/log/mysql.pid
log_error = /usr/local/mysql-5.7.31/log/error.log
slow_query_log_file = /usr/local/mysql-5.7.31/log/slow.log
explicit_defaults_for_timestamp=true
数据库初始化
./mysqld --initialize --user=mysql
设置开机自启动mysql服务
cp /usr/local/mysql-5.7.31/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
切换用户启动
su mysql
service mysqld start
查看初始密码
cd log/
vi error.log
/password #查找初始密码
配置远程登录
mysql -uroot -p
#更新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123456';
flush privileges;
#开启远程
grant all privileges on *.* to root@'%' identified by 'root123456';
show databases;
exit;