MySQL5.7二进制安装
先装依赖
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl numactl
官网去下载mysql5.7的二进制包这里省略,下载详情请看如下教程:
https://blog.csdn.net/Doudou_Mylove/article/details/86542323
开始安装,由于我用普通用户,所以执行命令时要加sudo
sudo wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
sudo tar -xf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
sudo mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql/
sudo useradd -s /sbin/nologin mysql
sudo mkdir -p /data/mysql
MySQL5.7默认没有配置文件需要手动创建
sudo vim /etc/my.cnf
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
port=3306
socket=/tmp/mysql.sock
user=mysql
datadir=/data/mysql
切换到/usr/local/mysql 改变目录拥有者为 mysql
sudo chown -R mysql.mysql /usr/local/mysql
下面是5.7版本的初始化命令,这里跟5.5版本不同,要注意
sudo ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
注意:这一步会生成mysql第一次登录用的 临时密码 需要保存下来。#如果密码没生成要重新初始化或者删了重装
如最后有这样一句:A temporary password is generated for root@localhost: P/6B56dtIsr%
P/6B56dtIsr% 就是临时密码
创建RSA private key,这一步也要注意区别于5.5的版本
sudo ./bin/mysql_ssl_rsa_setup --datadir=/data/mysql
修改当前目录拥有者为 biu用户(如果是root用户就写成root用户),修改data 目录拥有者为 mysql
sudo chown -R biu:biu /usr/local/mysql
sudo chown -R mysql:mysql /data/mysql
复制启动脚本
cd support-files
sudo cp mysql.server /etc/init.d/mysqld
启动
/etc/init.d/mysqld start
连接mysql并修改密码
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
sudo mysql -uroot -p“上面记录的初次登录密码”
alter user 'root'@'localhost' identified by '123456';
flush privileges;
quit;
#如果遇到新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
所以更改语句替换为update mysql.user set authentication_string=password('root') where user='root' ;即可
//5.7版本进入mysql后会提示先让你修改密码,否则无法使用show databases;等命令。如果提示密码过期,处理如下:
vim /etc/my.cnf
skip-grant-tables
/etc/init.d/mysqld restart
无密码登录mysql之后设置密码永不过期
sudo mysql -uroot -p
use mysql;
update user set password_expired='N' where user='root';
配置自动开机启动
chkconfig --add mysqld
chkconfig mysqld on
配置mysql 环境变量
ln -s /usr/local/mysql/bin/mysql /usr/bin
vim /etc/profile
加入 export PATH=/usr/local/mysql/bin:$PATH
更新配置 source /etc/profile
完毕!