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
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
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 |