在线安装步骤

参考:官方安装文档

  1. # 根据Linux版本下载yum
  2. https://dev.mysql.com/downloads/repo/yum/
  3. # 查看Linux版本
  4. lsb_release -a
  5. #下载的文件上传服务器
  6. #进行编译
  7. $> sudo yum install mysql80-community-release-el6-4.noarch.rpm
  8. #安装
  9. yum install mysql-community-server
  10. #启动
  11. systemctl start mysqld
  12. #查看
  13. systemctl status mysqld

离线安装包

下载安装包(压缩版)

#下载(压缩版)
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

#上传
将下载的压缩包上传到服务器上的某一个路径下

#解压缩到指定目录
tar -xf mysql-8.0.27-1.el6.x86_64.rpm-bundle.tar.xz
mv  mysql-8.0.27-1.el6.x86_64.rpm-bundle mysql8

#创建相关目录
mkdir -p {data,binlogs,log,etc,run}

#拷贝文件
cp /etc/my.cnf /home/zukxu/mysql8/etc/
#配置相关

#强制以root用户初始化数据库
/home/zukxu/mysql8/bin/mysqld --initialize --user=root --defaults-file=/home/zukxu/mysql8/etc/my.cnf --skip-grant-tables

# 初始化完毕生成临时密码

# 启动服务
cd /home/zukxu/mysql8/bin
mysqld_safe --user=root --defaults-file=my.cnf > mysqld8.log 2>&1 &

# 查看任务
 jobs -l
 # 查看任务
 netstat -antp | grep mysqld


 #进行连接
 mysql -h127.0.0.1 -P3306 -uroot -p

#使用临时密码登录进行修改root用户密码
siNcn/lXk51e

其中 —defaults-file=my.cnf 指定了默认的配置文件为当前目录下的 my.cnf,我在里面指定了端口为 3306。> mysqld_log 指定了将标准输出重定向到 msyqld.log,2>&1 表示将标准错误输出重定向到标准输出,末尾的 & 表示后台运行。因此,执行上述命令,我们使用 mysqld_safe 和 my.cnf 中的配置启动了一个 mysqld 进程,它始终在后台运行,所有的输出(包括错误输出)都将汇集到 mysqld.log 文件中。

image.png

配置

编辑配置文件:vi /etc/my.cnf


如果是已经启动了,myslq会生成一个临时密码存储在错误日志中
可以通过命令查看错误日志,拿到密码之后登录进行修改密码
grep 'temporary password' /var/log/mysqld.log

# 以下步骤为重置数据库密码
登录修改密码:mysql -u root -p 
输入临时密码
进行重置密码:set password=password('123456');
退出:exit
使用新密码登录:mysql -u root -p (新密码)

# 以下操作将修改user表中的数据
进入mysql数据库:use mysql ;
修改user表中的Host:update user set Host='%' where user='root';
刷新:flush privileges ;

# 使用Navicat进行连接数据库进行测试
查看Linux系统IP:ifconfig
在Navicat中输入Linux系统的IP,数据库用户名、密码以及端口,点击测试连接 。提示连接成功就证明连接成功 。

配置文件

my.cnf

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql #安装路径
datadir=/data/mysql # 数据存放路径
socket=/tmp/mysql.sock #socket文件路径
log-error=/data/mysql/mysql.err #日志路径
pid-file=/data/mysql/mysql.pid #pid文件路径
#character config
character_set_server=utf8mb4 #字符集
symbolic-links=0
explicit_defaults_for_timestamp=true

无法启动

查看端口是否开放

yum install -y mariadb-server
systemctl unmask firewalld.service
systemctl start mariadb.service

查看端口:
firewall-cmd --query-port=3306/tcp
开启端口:
firewall-cmd --add-port=3306/tcp

查看当前系统MySQL安装路径

1、知道账号密码的情况下

使用mysql查询语句查看

# 以下两个sql任意一个可查询
select @@basedir as basePath from dual ;
show variables like '%basedir%';

上面可以看到基础的安装路径,查看数据库data的路径怎么看,很简单,把上面的参数变量换成datadir即可:

# 以下查询任意一个均可
select @@datadir as dataPath from dual ;
show variables Like '%datadir%';

2、不知道mysql账号密码的情况下

1:查询运行文件所在路径

which mysql

然后使用上面的第一种方法进行查询

2、查看mysql的安装信息:

ps -ef | grep mysql

其中有一个参数—datadir,该参数指定了数据库所在的路径。

附录:

[

](https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html)