centos7.5安装MySQL5.7版本
一、卸载系统安装的之前的版本
1、检查是否已将安装了mysql
rpm -qa | grep mysql
2、卸载以前的mysql
rpm -e --nodeps 已经存在的MySQL全名
二、官网下载压缩包
1、官方下载
下载网址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
2、wget方式
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
三、解压安装包
#解压缩到/usr/local/mysql目录
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql/
#重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
#在/usr/local/mysql目录创建data目录
mkdir data
四、安装过程
1、初始化MySQL
./mysqld --initialize --user=root --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
2、执行命令后截图,注意此时会生成临时密码,临时密码如果忘记可去/usr/local/mysql/data目录下的.err文件里面搜索“temporary password”查看
3、如果忘记密码或者重新初始化,可以先将mysql/data目录删除,重新创建,然后再执行初始化命令
#进入目录
cd /usr/local/mysql
#删除data目录
rm -rf data
#进入mysql的bin目录
cd /usr/local/mysql/bin
#重新执行初始化MySQL命令
./mysqld --initialize --user=root --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
2、配置my.cnf
(1)从5.7.17后MySQL就没有默认的my_default.cnf文件模板,需要手动创建
cd /etc/
touch my.cnf
(2)my.cnf配置文件内容
[mysqld]
# sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 一般配置选项
basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data
port = 3306
character-set-server = utf8
explicit_defaults_for_timestamp = true
#skip_grant_tables
3、启动
#进入mysql的bin目录
cd /usr/local/mysql/bin
#启动mysql的服务
./mysqld_safe --user=root &
4、验证是否启动成功
ps -ef | grep mysql
5、设为开机启动
#进入support-files目录,复制启动命令文件
cd /usr/local/mysql/support-files/
#复制启动命令文件
cp mysql.server /etc/init.d/mysql
#编辑
vi /etc/init.d/mysql
#将mysql目录填上
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
#授权
chmod u+x /etc/init.d/mysql
#设为开机启动
chkconfig --add mysql
6、service启动方式
#重启服务:
service mysql restart
#停止服务:
service mysql stop
#启动服务:
service mysql start
#查看服务:
service mysql status
7、登录mysql修改密码授权远程登录
(1)进入到mysql的bin目录,输入临时密码登录
mysql -u root -p
输入临时密码
(2)修改密码
set password=password("123456");
(3)登录远程授权
grant all privileges on *.* to'root' @'%' identified by '123456';
(4)授权生效
flush privileges;
五、常见Q&A
1、执行启动和重启命令报错pid
(1)执行启动和重启命令报错pid
(2)解决方案,修改MySQL的启动脚本,在脚本start位置增加 --user=root
vim /etc/init.d/mysql
参考文章: