MySQl在Linux centos7与centos6的安装方式是不一样,曾经拿试用腾讯云centos7服务器试装MySQL失败,后来查阅才得知LInux centos7对MySQL的环境支持有所改变,所以安装流程更加复杂。
最近新租了一台阿里云ECS服务器,Linux centost7的系统,其中的环境和软件需要从头开始装。正好新服务器内部环境干净,不受外部干扰,适合演示阿里云服务器整个安装过程中遇到的问题,和排解的方式。
MySQL安装前的环境准备
1.首先查看一下Linux的版本信息
通过指令# cat /proc/version
我们可以看是是redhat的内核版本
通过指令# cat /etc/redhat-release
我们课看到是centos7.3的版本
.
2.卸载 内部集成的mariadb
为什么要卸载mariadb,因为MySQL与mariadb文件相冲突
a.首先,查看mariadb在Linux的安装文件
通过指令# rpm -qa | grep mariadb
b.然后进入删除阶段.
先执行一下# rpm -e mariadb-libs-5.5.52-1.el7.x86_64
出现这些错误信息;
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
存在其他依赖
c.在指令中添加-nodeps进行强制删除
执行# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
3.然后安装MySQL的依赖...
4.重新安装mariadb
指令# yum -y install mariadb-server mariadb mariadb-devel
经过两个提示y/n的提示后,等待几分钟,显示安装成功的信息
由此Mariadb安装成功
5.安装Mariadb成功后,进过一系列的操作
# systemctl start mariadb
# systemctl enable mariadb
6.安装MySQL安全组件
# mysql_secure_installation
7.将MySQL服务加入防火墙的开启中
# firewall-cmd --permanent --add-service mysql
执行指令之后,发现防火墙没有开启
于是还得修改防火墙的设施
执行# systemctl status firewalld 查看防火墙状态 显示 dead(未开启状态)
执行# systemctl start firewalld 开启防火墙
然后再次执行# firewall-cmd --permanent --add-service mysql
# iptables -L -n | grep 3306
MySQL安装包的正式安装过程
1.进入到正式的下载 MySQL安装包中wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
然后执行# sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 进行安装
接下来,会看在安装的四包和一个依赖包:mysql-community-client,mysql-community-devel,
mysql-community-libs,mysql-community-server,mysql-community-common
进过几分钟的提示y/n的提示,最后出现complate说明安装成功
最后瞧一眼
# mysql -V查看一下mysql ,说明MySQL在linux上安装成功
2.MySQL安装成功后,出现的问题和解决方式
a.# mysql -u root -p
结果又出现了错误提示:
ERROR 2002 (HY000):
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
错误说明了MySQL 相应文件没有权限
b.执行指令: # sudo chown -R mysql:mysql /var/lib/mysql
c.重启一下MySQL服务
指令: # service mysqld restart 一般正常情况下没问题
d.但是有可能出现一下的问题,刚进去没有roo账户密码:
修改MySQL的root密码也是我们经常遇到的问题,不过也好办
(1).我们先关闭 MySQL服务 ,指令# service mysqld stop
(2).然后执行执行指令# mysqld_safe --skip-grant-tables & 跳过密码输入后台执行
(3).直接敲# mysql ,就进入到MySQL中
(4).然后操作MySQL数据库指令进行修改
mysql> use mysql; //切换到mysql数据库
mysql> update user set password=password('123456') where user='root'; //修改root 用户密码
mysql> flush privileges; //刷新
mysql> exit;
其他问题: 安装过程中可能登录也会遇到问题:报的错与上面的一样,但是后面的状态为(111)
ERROR 2002 (HY000):
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
出现这种情况处理:
a.首先停止MySQL服务 # service mysqld stop
b.找到mysql.sock相应的路径,然后删除 # sudo rm /var/lib/mysql/mysql.sock
c.让后重启后 登录,ERROR 2002 (HY000):
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2),
而这个问题就是上面出现的解决思路