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%';