centos7 源码安装mysql 5.7.34

centos7 源码安装mysql 5.7.34

官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

centos7 源码安装mysql 5.7.34_第1张图片

注意:在新版本的CentOS7中,默认的数据库已更新为了Mariadb,Mariadb是mysql的一个分支,同时存在可能会出现冲突,因此先检查并删除linux上内嵌的Mariadb

检查系统中是否已安装 MySQL

[root@192 ~]# rpm -qa|grep -i mariadb
mariadb-libs-5.5.52-1.el7.x86_64

卸载已安装的 Mariadb 数据库

[root@192 ~]# rpm -qa|grep mariadb|xargs rpm -e --nodeps

再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成

[root@192 ~]# rpm -qa|grep -i mariadb

我这里将 mysql tar 包放在了/opt/soft 目录下

[root@192 opt]# cd /opt/soft
[root@192 soft]# ls
mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

解压 mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

移动到 /usr/local/mysql/ 目录下

mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql

创建mysql 用户和用户组

[root@192 soft]# groupadd mysql
[root@192 soft]# useradd -r -g mysql mysql

创建mysql 目录并赋予权限

#创建mysql数据目录

[root@192 soft]# mkdir -p /data/mysql

#赋予权限;将/data/mysql下的所有文件与子目录的拥有者皆设为 mysql ,群体的使用者 mysql

[root@192 soft]# chown mysql:mysql -R /data/mysql

配置my.cnf

vim /etc/my.cnf

将下面内容粘贴进去

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=basedir=/usr/local/mysql/mysql-5.7.34-linux-glibc2.12-x86_64
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
symbolic-links=0

初始化数据库

进入到bin目录 !!!,这里注意自己的目录对不对

[root@192 bin]# pwd
/usr/local/mysql/mysql-5.7.34-linux-glibc2.12-x86_64/bin

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql-5.7.34-linux-glibc2.12-x86_64 --datadir=/data/mysql/ --user=mysql --initialize

先将mysql.server放置到/etc/init.d/mysql中

[root@192 bin]# cp /usr/local/mysql/mysql-5.7.34-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql

查看密码

cat /data/mysql/mysql.err

centos7 源码安装mysql 5.7.34_第2张图片

启动mysql 并更改root密码

[root@192 bin]# service mysql start
Unit mysql.service could not be found.
Starting MySQL. SUCCESS!

centos7 源码安装mysql 5.7.34_第3张图片

用生成的随机密码登录,进行修改密码

./mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.34

Copyright © 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective

centos7 源码安装mysql 5.7.34_第4张图片

再分别依次执行下面六步操作:(注意:mysql每条命令的结束都有分号)

mysql> SET PASSWORD = PASSWORD(‘qb031219’);
Query OK, 0 rows affected, 1 warning (0.02 sec)

mysql> ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

#设置远程主机登录

mysql> GRANT ALL PRIVILEGES ON . TO ‘your username’@’%’ IDENTIFIED BY ‘qb031219’;
Query OK, 0 rows affected, 1 warning (0.00 sec)

#执行以下命令,为root 用户添加远程登录的能力。

mysql> GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY “qb031219”;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

开放3306端口,重启防火强,至此,mysql 安装完成

[root@192 bin]# firewall-cmd --query-port=3306/tcp
no
[root@192 bin]# firewall-cmd --permanent --add-port=3306/tcp
success
[root@192 bin]# firewall-cmd --state
running
[root@192 bin]# firewall-cmd --reload
success

解释下my.cnf 配置中的信息

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=basedir=/usr/local/mysql/mysql-5.7.34-linux-glibc2.12-x86_64
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
symbolic-links=0

  • user:mysqld 程序在启动后将在给定 UNIX/Linux 账户下执行。mysqld 必须从 root 账户启动才能在启动后切换到另一个账户下执行。mysqld_safe 脚本将默认使用 user=mysql 选项来启动 mysqld 程序。
  • basedir:指定 MySQL 安装的绝对路径;
  • datadir:指定 MySQL 数据存放的绝对路径;
  • port:服务端口号,默认为 3306
  • socket:socket 文件所在目录

你可能感兴趣的:(mysql,mysql,centos,linux)