CentOS7下安装mysql5.1 或升级到5.7 以及小问题的解决方案

 正文开始

1、首先打开终端输入以下内容下载mysql5.1的repo源(安装5.7从第二步执行

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

 

2、下载好rpm包后安装这个包

rpm -ivh mysql-community-release-el7-5.noarch.rpm  (5.1)

rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm  (5.7)(安装5.7直接从这部开始即可)

 

3、开始安装mysql-server  ,中间有选择的部分之间选择“y” 就OK了

sudo yum install mysql-server

yum install -y mysql-community-server(5.7)

 

备注:(部分本机登录不需要密码)

1、 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码

2、 grep 'temporary password' /var/log/mysqld.log 找到root默认密码

3、 mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。

否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误

4、安装好然后启动 service mysqld start

5、直接输入 mysql -uroot -p会报以下错误,原因是mysql这个文件的权限问题,如果没有报错,则跳过

(ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2))

所以需要把这个文件文件的权限改为当前用户 

sudo chown -R root /var/lib/mysql

 


4、然后重启mysql,直接登录root账户,

关闭:service mysqld stop

启动:/etc/init.d/mysqld start

或者:service mysqld restart

重启:service mysqld restart

#设置mysql的本机root密码,(也可以不设置密码,默认为空)
$ mysqladmin -u root -h localhost password 'xxxxxxxx'

刚安装后会在日志中有mysql默认密码:grep 'temporary password' /var/log/mysqld.log

 

5、修改mysql账户远程root密码为‘123456’(也可以不设置密码,默认为空)

use mysql;

update user set password='123456' where user='root';

flush privileges;(刷新数据库的作用)

 

====================================分割线========================

如果想远程数据库则需要开启,远程权限和端口

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456"; (切记在登录数据库状态时输入其中“root”是账户    “123456”是密码,密码为空就不输入内容"")

开启远程权限后需要刷新数据库:flush privileges;

 

再打开数据库3306端口:
firewall-cmd --add-port 3306/tcp --permanent
firewall-cmd --add-port 3306/udp --permanent
firewall-cmd --reload

关于开启和关闭mysql

查看mysql在线运行:service mysqld status

关闭mysql:service mysqld stop

启动mysql:/etc/init.d/mysqld start    或者   service mysqld restart

 

关于修改mysql修改默认引擎具体内容如下:

1、登录mysql后输入:show engines 则会给出当前数据库支持的引擎以及使用的引擎如下图  InnoDB |DEFAULT 表示是当前使用的引擎

2、在(/etc/my.cnf )文件内找到 [mysqld] 然后换行输入:

default-storage-engine=INNODB  表示将引擎修改为 lnnoDB 

然后输入 :service mysqld stop 关闭数据库

再输入:service mysqld restart 启动数据库  再登录数据库后输入 show engines 查看结果

 

 

 

 小问题:

一,安装前查看是否已安装mysql    关于删除卸载mysql,或其他安装方式请参考 https://www.jb51.net/article/112356.htm

二,解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";:https://blog.csdn.net/hjf161105/article/details/78850658

三,卸载mysql5.1后,再次安装mysql5.7,mysql5.7无法启动,由于启动配置文件一直按照mysql5.1去启动的,所以无法启动 友情链接https://www.cnblogs.com/vickygu2007/p/5066409.html

如果启动失败,提示“MySQL Daemon failed to start”,可以尝试先初始化mysql,输入命令:mysqld --initialize。
如果初始化提示:
2015-12-22T07:49:45.386095Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-12-22T07:49:45.388125Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2015-12-22T07:49:45.388153Z 0 [ERROR] Aborting
说明数据文件夹已被创建,直接删除,让mysql自己创建即可,输入命令:
rm -rf /var/lib/mysql
删除后,注意:然后不需要再初始化了,直接启动mysql,它会自己初始化,输入命令:

service mysqld start

 

 彻底卸载mysql和删除mysql残留文件

1
2
[root@localhost etc]# rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
[root@localhost etc]# service mysqld stop   //这个命令是停止mysql服务
[root@localhost etc]# yum remove mysql mysql-*  //这个命令是卸载mysql

 

   有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

1
2
[root@localhost ~]# rpm -e mysql  // 普通删除模式
[root@localhost ~]# rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

 

查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

1
find / -name mysql

查找结果如下:

1
2
3
4
5
find / -name mysql
 
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql

删除对应的mysql目录

1
2
3
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

1
rm -rf /etc/my.cnf

 

4、再次查找机器是否安装mysql

1
rpm -qa|grep -i mysql
posted @ 2018-12-14 15:28  笨手笨脚  阅读(5659)  评论(0编辑  收藏  举报