centos7 安装mysql5.6.32

1、  检查是否存在旧的mysql,执行:

rpm -qa|grep -i mysql

PS:若存在旧mysql,删除查询到的旧mysql,执行:

rpm -e --nodeps  XXXX               #XXXX为查询到的mysql名称

2、  检测是否存在MariaDB数据库(影响mysql安装),执行:

rpm -qa|grep mariadb

PS:若存在旧MariaDB,删除查询到的旧MariaDB,执行:

rpm -e --nodeps  XXXX               #XXXX为查询到的MariaDB名称

例如:rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

3、  关闭SELINUX,影响mysql启动

vi /etc/selinux/config             #编辑防火墙配置文件

SELINUX=enforcing修改为disabled

#SELINUXTYPE=targeted       #注释掉

 

:wq                                           #保存,关闭

reboot                               #重启机器才能生效

4、  上传mysql安装包到/data目录,安装mysql,执行:

上传MySQL-client-5.6.32-1.el7.x86_64.rpm、

MySQL-server-5.6.32-1.el7.x86_64.rpm、MySQL-devel-5.6.32-1.el7.x86_64.rpm、MySQL-shared-5.6.32-1.el7.x86_64.rpm到/data目录,执行:

rpm -ivh MySQL-client-5.6.32-1.el7.x86_64.rpm

rpm -ivh MySQL-devel-5.6.32-1.el7.x86_64.rpm

rpm -ivh MySQL-server-5.6.32-1.el7.x86_64.rpm

rpm -ivh MySQL-shared-5.6.32-1.el7.x86_64.rpm

ps:安装的mysql版本5.6.32,查看版本mysql --version

删除安装包:rm -f MySQL-*.rpm

 

5、  启动mysql服务,指令:

service mysql start

假如报如下错误:

Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

解决方法,依次执行:

cd /var/lib/mysql/            #提示的安装目录

mysql_install_db                     #初始化数据库

【如果报以下错:

FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:

Data::Dumper

则:

yum-y install autoconf   //此包安装时会安装Data:Dumper模块

再次执行mysql_install_db     

chown -R mysql.mysql ./ #修改目录文件权限

service mysql start           #启动mysql

6、  修改mysql存储路径,依次执行如下操作:

A、停止mysql,指令:service mysql stop

B、复制mysql安装文件,指令:cp -arf /var/lib/mysql /data/

C、修改mysql目录权限,指令:chown -R mysql:mysql /data/mysql/

D、vi /etc/my.cnf新建配置文件,配置如下内容:

[client]
port = 3306
default-character-set=utf8
 
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
character_set_server=utf8
init_connect='SET NAMES utf8'
 
[mysql]
no-auto-rehash
default-character-set=utf8

保存,退出。

 

E、修改mysql启动脚本,执行:

sed -i "s#datadir=/var/lib/mysql#datadir=/data/mysql#g" /etc/rc.d/init.d/mysql

手动修改脚本方法如下:(参考)

编辑vi /etc/rc.d/init.d/mysql

脚本文件,找到第70行

 

修改datadir值为/data/mysql,保存,退出。

F、建立软连接,指令:ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

确认sock文件是否存在。

【如果找不到sock文件,

cd /data/mysql/        #提示的安装目录

mysql_install_db                     #初始化数据库

chown -R mysql.mysql ./ #修改目录文件权限

 

  G、启动mysql,指令:service mysql start #到这一步,一般启动失败,多为目录权限问题,再次授权即可解决。

7、  修改mysql里root用户的密码,依次执行:(需安装mysql客户端)

mysql -u root                          #登录mysql数据库

如果报错,则cat /root/.mysql_secret获取密码,再执行mysql -uroot -p输入获取

的密码,进入后先修改root密码才能进行其他操作

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('db@123');

mysql> use mysql;                  #切换到mysql数据库

mysql> UPDATE user SET Password = PASSWORD('db@123') WHERE user = 'root';                                    #更新user表中root用户的密码为db@123

mysql> grant all privileges on *.* to root@"%" identified by 'db@123'; #授权

mysql> FLUSH PRIVILEGES;    #刷新mysql的系统权限相关表

mysql> exit

验证是否修改成功:mysql -uroot -pdb@123

验证字符集是否正确:show variables like 'character_set%';

 

原文地址:https://www.cnblogs.com/jiu0821/p/8098240.html