MySQL5.7.25安装教程

本文介绍的为.tar 包安装方式
操作系统: CentOS 7

1.卸载系统自带的 MariaDB(重要指数 五颗星)

查询已安装的mariadb
rpm -qa|grep mariadb
删除查询出来的mariadb

rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 

安装依赖

yum -y install numactl.x86_64;
2.官网下载源码包

下载页面:https://dev.mysql.com/downloads/mysql/
或者使用命令下载

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 结尾,则解压方式为

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目录

cd /usr/local/mysql
mkdir data
5.创建系统用户组和用户
cat /etc/group        --查看所有用户组信息是否存在mysql组,不存在则创建,存在则直接新建用户
groupadd mysql        ---新建一个msyql组
cat /etc/passwd|grep mysql     ---查看是否存在mysql用户
useradd -g mysql mysql        ---新建msyql用户
6.修改当前目录权限
chown -R mysql:mysql /usr/local/mysql
7.初始化数据库

进入bin目录

cd /usr/local/mysql/bin    
初始化命令,注意路径不要写错
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

注意结尾有初始密码, 复制初始密码, 方便更改

若报如下错

./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object
file: No such file or directory
则执行

yum remove libnuma.so.1;
yum -y install numactl.x86_64;

将 mysql 加入服务

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysql
8.配置my.cnf

一般都在/etc/my.cnf ---如果不存在, 新建一个就在/etc/目录新建 touch my.cnf
并编辑或添加以下内容

[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_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" #不开启sql严格模式
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

9.添加开机启动
vim /etc/init.d/mysql

编辑其中两个属性如下

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

开机自启, 如果提升找不到就忽略
chkconfig --add mysql
chkconfig mysql on

在mysql的bin目录 启动mysql:
service mysql stop  关闭
service mysql start 启动

vi /etc/profile 在任何地方都能启动mysql服务

$PATH后边追加    :/etc/usr/mysql/bin

查询服务启动是否成功:

chkconfig | grep -i mysql

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行

10:连接mysql, 打开命令窗口
mysql -uroot  -p

回车后输入初始化生成的临时密码
当出现 mysql: 表示进入了mysql命令行模式

mysql>

修改密码

alter user 'root'@'localhost' identified by '新密码';
或者
update user set authentication_string=password("新密码") where user="root"
flush privileges; ---刷新权限,之后退出重新登录
11.让远程用户 [可视化工具]可以连接mysql服务

解决方法:
1.改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql" 数据库里的 "user" 表里的 "host"项,从"localhost"改称"%"

mysql>usemysql;
mysql>update user set host = '%' where user ='root';
mysql>select host, user from user; 
赋予任何主机访问数据的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
mysql>FLUSH PRIVILEGES     //修改生效
mysql>EXIT                 //退出MySQL服务器

千万别忘了开放3306端口, 或者关闭防火墙也行
防火墙开启

1、开启端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent

2、重启防火墙

firewall-cmd --reload

查看已经开放的端口:
firewall-cmd --list-ports

12.创建用户并授权[可选]

添加用户允许其在任意地址登录
CREATE USER 'dog'@'%' IDENTIFIED BY '123456';
授予所有库的所有权限

GRANT ALL PRIVILEGES ON . TO 'dog'@'%' IDENTIFIED BY '123456';
刷新权限

flush privileges;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容