mysql5.7 源码安装过程

1系统约定
安装文件下载目录:/data/software
Mysql目录安装位置:/usr/local/mysql
数据库保存位置:/data/mysql
日志保存位置:/data/log/mysql
mysql

 

第一步:下载mysql的二进制安装包 用二进制安装包的好处是能够安装多个mysql版本linux

在Linux终端使用wget命令下载网络资源:  wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz(也可在windows中下载后传输到Linux)sql

 

第二步:解压文件数据库

把mysql安装包下载到 /usr/local/ 下解压windows

第三步: 建立一个软链接安全

第四步:建立一个用户和用户组 由于mysql必须运行在mysql用户和mysql用户组下面 不能运行在root下网络

第五步:修改mysql文件所属的用户和用户组oracle

第六步:配置启动文件ide

去到以前解压后并更名为mysql的目录下会有如下文件性能

而后去到support-files目录下

一、复制my.cnf 到 /etc/my.cnf (mysqld启动时自动读取)
cp my-default.cnf /etc/my.cnf

注意:若是你在安装时Linux虚拟机时同时安装了默认的mysql,此时操做以上步骤,终端将会提示你文件已存在是否覆盖,输入yes覆盖便可。

第七步:初始化 mysql 的数据库

首先去到mysql的bin目录

1.初始化
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成出一个data目录,表明数据库已经初始化成功
而且mysql的root用户生成一个临时密码:SHNq8Qvd2g>L(最好先记录这个临时密码)

2.给数据库加密
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

3.启动mysql(为了避免让进程卡主,可在启动mysql的命令后加上&表明此进程在后台运行)
./mysqld_safe --user=mysql &

4.检查ps -ef|grep mysql

发现有以上进程便表明启动成功。

第八步:修改data目录的用户

第九步:复制mysql.server 到/etc/init.d/  目录下

去到mysql下的support-files下

执行命令:cp mysql.server /etc/init.d/mysql.server (mysql是服务名)

则下次启动mysql服务就不须要去到去到bin目录经过./mysqld_safe --user=mysql &启动了 而直接执行/etc/init.d/mysql.server start就能够开启进程

而后经过chkconfig --add mysql.server 让mysql服务设置成开机自启动

 二、修改 /etc/init.d/mysql.server 参数
vi /etc/init.d/mysql.server
给与2个目录位置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

第十步:进入客户端

1.登陆 ./mysql -uroot -p 复制粘贴以前的临时密码
2.修改密码
set password=password('新密码');

第十一步:设置远程访问

1,在远程访问以前需先配置防火墙  systemctl stop firewalld.service(不推荐,可配置开通3306端口)

2,受权

mysql>grant all privileges on *.* to 远程访问用户名@'%' identified by '用户密码';
mysql>select host,user from user; 【多出1条远程登陆用户记录】
mysql>flush privileges;(刷新)

此时使用远程机器进行访问

解析:使用mysql -h主机ip -u用户名 -p密码便可进行远程访问

第十二步:配置环境变量

为了方便操做,配置环境变量仍是有必要的

vi /etc/profile

添加:
export PATH=/usr/local/mysql/bin:$PATH     使全局生效

小结:到这一步基本的配置基本就完成了。

补充:

--退出mysql命令窗口

#exit

 --查看mysql状态

#service mysql status

--中止mysql

#service mysql stop

--启动mysql

#service mysql start

 

总结——mysql5.6和mysql5.7版本的安装区别

初始化方式不同 5.6用的是scripts这个文件 而5.7没有




5.7初始化之后会生成一个临时密码 而5.6没有 是由于出于安全性方面的考虑

5.6默认有一个test库 这个库在5.6版本以前一直存在   5.7把test库去掉加了一个sys库 也是为了安全性方面的考虑  在text库里代码是写死的一点是 只要是test库 全部的用户都有权限 这个设计从数据库的角度上来讲的不合理的 而sys库有点像oracle的性能视图 和test库没有关系 


执行:grant allprivileges to *.* on xxx 出现如下错误


注意若是提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

执行 set password=password('xxx')便可