Mysql8以及5.7centos安装
1.Mysql 5.7 安装参考步骤
卸载MariaDB
在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
如果直接安装MySQL,会和MariaDB的文件冲突。
因此,需要先卸载自带的MariaDB,再安装MySQL。
1.1 查看版本:
1 | rpm -qa|grep mariadb |
1.2 卸载
1 | rpm -e --nodeps 文件名 |
1.3 检查是否卸载干净:
1 | rpm -qa|grep mariadb |
安装mysql
1.下载mysql 5.7
1 | [root@localhost ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz |
检查是否本地已经安装了mysql
1 | rpm -qa | grep mysql |
卸载以前的mysql
1 | rpm -e 已经存在的MySQL全名 |
2.解压文件
1 | [root@localhost ~]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ |
文件名修改为mysql:
1 | [root@localhost local]# mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql |
3.配置启动文件
1、然后去到mysql的support-files目录下,复制my.cnf到 /etc/my.cnf(mysqld启动时自动读取)
1 | [root@localhost local]# cd mysql/support-files/ |
注意:如果你在安装时Linux虚拟机时同时安装了默认的mysql,此时操作以上步骤,终端将会提示你文件已存在是否覆盖,输入yes覆盖即可。
2、配置数据库编码
1 | [root@localhost support-files]# vim /etc/my.cnf |
添加以下内容:
1 | [mysql] |
3、复制mysql.server到/etc/init.d/目录下(目的想实现开机自动执行效果)
1 | [root@localhost support-files]# cp mysql.server /etc/init.d/mysql |
4、修改/etc/init.d/mysql参数
1 | [root@localhost support-files]# vim /etc/init.d/mysql |
修改以下内容:
1 | basedir=/usr/local/mysql |
用户和用户组
1、出于安全便利,创建一个操作数据库的专门用户
建立一个mysql的组:
1 | [root@localhost support-files]# groupadd mysql |
建立mysql用户,并且把用户放到mysql组:
1 | [root@localhost support-files]# useradd -r -g mysql mysql |
给mysql用户设置一个密码:
1 | [root@localhost support-files]# passwd mysql |
给目录/usr/local/mysql 更改拥有者:
1 | [root@localhost support-files]# chown -R mysql:mysql /usr/local/mysql/ |
初始化MySQL
1.初始化 mysql 的数据库
1 | [root@localhost support-files]# cd /usr/local/mysql/bin/ |
1 | [root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data |
初始化后会生成一个临时密码 root@localhost::*(最好先记录这个临时密码)
2、给数据库加密
1 | [root@localhost bin]# ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data |
3、启动mysql
1 | [root@localhost bin]# ./mysqld_safe --user=mysql & |
4、检查mysql是否启动
1 | [root@localhost bin]# ps -ef|grep mysql |
发现有进程便代表启动成功。
5.进入客户端
1、登录:
1 | [root@localhost bin]# ./mysql -uroot -p |
2、修改密码:
1 | set password=password('新密码'); |
设置远程访问
1、打开mysql的默认端口3306:
1 | [root@localhost bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent |
2、设置mysql的远程访问
设置远程访问账号:grant all privileges on . to 远程访问用户名@’%’ identified by ‘用户密码’;
1 | grant all privileges on *.* to root@'%' identified by 'root'; |
刷新:
1 | flush privileges; |
设置开机自启动
1、添加服务mysql
1 | [root@localhost bin]# chkconfig --add mysql |
2、设置mysql服务为自启动
1 | [root@localhost bin]# chkconfig mysql on |
第八步:配置环境变量
1 | [root@localhost ~]# vim /etc/profile |
最后一行添加:
1 | export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH |
使修改生效:
1 | [root@localhost ~]# source /etc/profile |
至此,mysql5.7的安装就完成了!
2.Mysql 8.0.X 安装参考步骤
一、卸载MariaDB
在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
如果直接安装MySQL,会和MariaDB的文件冲突。
因此,需要先卸载自带的MariaDB,再安装MySQL。
1.1 查看版本:
1 | rpm -qa|grep mariadb |
1.2 卸载
1 | rpm -e --nodeps 文件名 |
1.3 检查是否卸载干净:
1 | rpm -qa|grep mariadb |
二、安装MySQL
2.1 下载资源包
2.1.1 官网下载
MySQL官网下载地址 :
1 | https://dev.mysql.com/downloads/mysql/ |
2.1.2 wget下载mysql 8.0.20
1 | wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz |
2.2 解压
1 | .tar.gz后缀:tar -zxvf 文件名 |
1 | .tar.xz后缀:tar -Jxvf 文件名 |
2.3 重命名
将解压后的文件夹重命名(或者为文件夹创建软链接)
1 | 重命名 |
2.4 添加PATH变量
添加PATH变量后,可在全局使用MySQL。
有两种添加方式:export命令临时生效、修改配置文件用久生效;
1 | 临时环境变量,关闭shell后失效,通常用于测试环境 |
三、用户和用户组
3.1 创建用户组和用户
1 | 创建一个用户组:mysql |
创建用户组:groupadd
创建用户:useradd
-r:创建系统用户
-g:指定用户组
3.2 数据目录
1、创建目录
1 | mkdir -p /data/software/mysql8/datas |
2、赋予权限
1 | 更改属主和数组 |
四、初始化MySQL
4.1 配置参数
在/data/software/mysql8/下,创建my.cnf配置文件,用于初始化MySQL数据库
1 | [mysql] |
4.2 初始化
1 | mysqld --defaults-file=/data/software/mysql8/my.cnf --basedir=/data/software/mysql8/ --datadir=/data/software/mysql8/datas/mysql --user=mysql --initialize-insecure |
参数(重要)
defaults-file:指定配置文件(要放在–initialize 前面)
user: 指定用户
basedir:指定安装目录
datadir:指定初始化数据目录
intialize-insecure:初始化无密码
五、启动MySQL
查看 MySQL的 bin路径下,是否包含mysqld_safe,用于后台安全启动MySQL。
5.1 启动服务
1 | # 完整命令 |
查看是否启动
1 | ps -ef|grep mysql |
5.2 登录
1 | # 无密码登录方式 |
5.3 修改密码
1 | # 修改密码 |
5.4 设置允许远程登录
登录到mysql里执行
1 | # 修改密码 |
5.5 在Navicat上测试连接成功!