Linux下MySQL的tar及rpm的详细安装-刘宇

作者:刘宇
CSDN博客地址:https://blog.csdn.net/liuyu973971883
有部分资料参考,如有侵权,请联系删除。如有不正确的地方,烦请指正,谢谢。

一、tar包安装

1、为数据库创建软件目录以及数据存放目录

#mysql软件目录
mkdir /software/

2、上传mysql的tar包文件到/software/软件安装目录下并解压:

cd /software/
#解压
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
#重命名文件
mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql-5.7.17
#创建mysql数据文件目录
mkdir ./mysql-5.7.17/data

4、创建mysql的用户组和用户

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

5、修改mysql文件夹的用户组和用户权限

chown -R mysql:mysql  /software/mysql-5.7.17/

6、更改mysql安装文件夹mysql-5.7.17/的权限

chmod -R 755 /software/mysql-5.7.17/

7、检查是否缺少libaio依赖包。

#查询是否安装libaio依赖包
yum search libaio
#如果没安装,可以用下面命令安装
yum install libaio

8、对mysql进行初始化

cd /software/mysql-5.7.17/bin
./mysqld --initialize --user=mysql --basedir=/software/mysql-5.7.17 --datadir=/software/mysql-5.7.17/data
  • 错误解决:error while loading shared libraries: libnuma.so.1: cannot open shared object
#主要是因为libnuma安装了32位的,我们安装一个64位即可。
yum install numactl.x86_64
  • 安装成功后即可要复制临时密码
[Note] A temporary password is generated for root@localhost: !dyys)ll!8_N
  • 忘记复制临时密码,输入如下命令即可获得临时密码
grep 'password' /var/log/mysqld.log

9、启动mysql服务

sh /software/mysql-5.7.17/support-files/mysql.server start
  • 我们发现会出现如下错误,修改mysql配置文件即可:
./support-files/mysql.server: line 239: my_print_defaults: command not found
./support-files/mysql.server: line 259: cd: /usr/local/mysql: No such file or directory
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)

10、修改mysql.server配置文件

  • 修改配置文件
 vim /software/mysql-5.7.17/support-files/mysql.server
  • 将几个路径修改成我们指定的目录即可
if test -z "$basedir"
then
basedir=/software/mysql-5.7.17
bindir=/software/mysql-5.7.17/bin
if test -z "$datadir"
then
datadir=/software/mysql-5.7.17/data
fi
sbindir=/software/mysql-5.7.17/bin
libexecdir=/software/mysql-5.7.17/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi

11、将mysql.server文件拷贝到/etc/init.d/目录下

cp /software/mysql-5.7.17/support-files/mysql.server  /etc/init.d/mysqld
#赋予权限
chmod 755 /etc/init.d/mysqld

12、编辑my.cnf文件

  • 编辑文件
vi /etc/my.cnf
  • 修改文件
[client]
port=3306
default-character-set=utf8
socket =/software/mysql-5.7.17/tmp/mysql.sock
[mysqld]
port=3306
character-set-server=utf8
basedir=/software/mysql-5.7.17
datadir=/software/mysql-5.7.17/data
pid-file=/software/mysql-5.7.17/tmp/mysqld.pid
log-error=/software/mysql-5.7.17/log/mysql.err
socket = /software/mysql-5.7.17/tmp/mysql.sock

# Server Id.
server-id=1
  • 在mysql目录中创建tmp和log文件夹
mkdir /software/mysql-5.7.17/tmp
mkdir /software/mysql-5.7.17/log
#赋予权限777,否则后面用root用户启动失败
chmod 777 /software/mysql-5.7.17/tmp
chmod 777 /software/mysql-5.7.17/log

13、启动mysql

启动

/etc/init.d/mysqld start

报错解决1

  • 如果报如下错误,是因为mysql安全启动只认/usr/local/mysql这个路径
Starting MySQL.Logging to '/software/mysql-5.7.17/log/mysql.err'.
2020-08-04T03:25:34.828670Z mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
ERROR! The server quit without updating PID file (/software/mysql-5.7.17/mysqld.pid).
  • 解决方法:
#将所有的/usr/local/mysql改为/software/mysql-5.7.17
#如果嫌麻烦可以传到windows上进行一键替换
vim /software/mysql-5.7.17/bin/mysqld_safe

报错解决2

  • 如果报如下错误,是因为当前root用户没有权限写入文件,需要切换到mysql用户启动mysql,然后关闭。随后即可使用root用户启动了
Starting MySQL.2020-08-04T03:29:34.828670Z mysqld_safe error: log-error set to '/software/mysql-5.7.17/log/mysql.err', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/software/mysql-5.7.17/tmp/mysqld.pid).

13、使用临时密码登录

/etc/init.d/mysql -uroot -p
#输入密码

13、修改密码

#修改密码复杂度,如果提示没有则跳过即可
set global validate_password_policy=0;
set global validate_password_length=1;
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

14、修改远程访问权限

#修改权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
#刷入权限
flush privileges;

二、利用rpm的yum源安装

1、下载源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

2、安装mysql源镜像

yum localinstall mysql57-community-release-el7-8.noarch.rpm

3、检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

4、修改vim /etc/yum.repos.d/mysql-community.repo源。

  • 比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。
    在这里插入图片描述

5、安装MySQL

yum install mysql-community-server

6、启动MySQL服务

systemctl start mysqld

7、忘记临时密码

grep 'password' /var/log/mysqld.log

8、使用临时密码登录

/etc/init.d/mysql -uroot -p
#输入密码

9、修改密码

#修改密码复杂度,如果提示没有则跳过即可
set global validate_password_policy=0;
set global validate_password_length=1;
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

10、修改远程访问权限

#修改权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
#刷入权限
flush privileges;

三、mysql基础设置

3.1、目录解析

参数路径解释备注
--basedir/usr/bin相关命令目录mysqladmin mysqldump等命令
--datadir/var/lib/mysql/mysql数据库文件的存放路径
--plugin-dir/usr/lib64/mysql/pluginmysql插件存放路径
--log-error/var/lib/mysql/jack.atguigu.errmysql错误日志路径
--pid-file/var/run/mysqld/mysqld.pid进程pid文件
--socket/var/lib/mysql/mysql.sock本地连接时用的unix套接字文件
/usr/share/mysql配置文件目录mysql脚本及配置文件
/etc/init.d/mysql服务启停相关脚本

3.2、修改数据库字符集

  • 修改字符集配置
#1.编辑配置文件
vim /etc/my.cnf

#2.在[mysqld]下方添加如下设置
character_set_server=utf-8

#3.重启mysql服务
systemctl restart mysqld
  • 修改已生成的库字符集
alter database mytest character set 'utf8';
  • 修改数据表的字符集
alter table user convert to  character set 'utf8';
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值