Linux系统(CentOS7.4)安装mysql(5.7.25)

linux下安装mysql有三种方式:①yum安装 ②rpm安装 ③源码包安装

这里介绍第三种安装方式

操作系统:centos7.4

mysql版本:5.7.25,安装时注意版本区别,不同版本安装配置稍有差异。

若之前装过mysql请先删除再进行安装

1.卸载centos7自带的 MariaDB

rpm -qa|grep mariadb  // 查询出来已安装的mariadb
rpm -e --nodeps mariadb-*  //删除相关包
或者用此命令删除:
rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件

2.官网下载源码包

下载页面:https://dev.mysql.com/downloads/mysql/

该页面下方是最新版本,圆圈中的位置是旧版本

点击 Download 按钮会让你登录之后下载

这里上传到服务器有两种方式

①下载到本地(windows系统),通过上传工具发送到服务器

②在Linux命令界面进入要放置安装包的目录例如

cd /usr/local

右击上图 Download 按钮——复制链接地址——在linux命令界面执行——wget 复制的链接地址

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

3.解压安装包

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

如果压缩包名是以 ..tar 结尾,则解压方式为 

tar -xvf mysql-5.7.25-linux-glibc2.12-x86_64.tar

删除下载的安装包

rm mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

修改解压出来的文件夹名为mysql

mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql

4.创建数据文件存放目录

进入mysql目录,新建data目录

mkdir data

5.创建系统用户组和用户

groupadd mysql    ---新建一个msyql组
useradd -g mysql mysql     ---新建msyql用户

6.修改当前目录权限

chown -R mysql:mysql ./ 

7.配置my.cnf

搜索my.cnf

find / -name my.cnf

 找到后复制到 /etc/my.cnf

并进行如下编辑,若找不到则在/etc下手动编辑一个

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写 
lower_case_table_names = 1
#不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

8.初始化数据库

cd /usr/local/mysql/bin //进入bin目录
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

执行这条命令只要没有Error,警告信息Warning先不理它,执行成功后会在最后有默认密码注意保存

9.添加开机启动

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
vim /etc/init.d/mysqld 
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
chkconfig --add mysqld
chkconfig mysql on

查询列表:

chkconfig | grep -i mysql

 10.创建用户并授权

添加用户允许其在任意地址登录
CREATE USER 'dog'@'%' IDENTIFIED BY '123456'; 
//授予所有库的所有权限
grant all privileges on *.* to dog@% identified by '123456';
//刷新权限
flush privileges;

猜你喜欢

转载自blog.csdn.net/qq_30162219/article/details/87768612
今日推荐