Centos7下使用yum安装mysql数据库
首先Centox7已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,
而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。由于确定使用mysql,那只有卸载mariadb了。
一、清除不支持mysql的安装环境
(1)首先查看当前安装的mariadb包
rpm -qa|grep mariadb
本人得到结果是:
mariadb-libs-5.5.44-2.el7.centos.x86_64
如果要看当前安装的mysql包
rpm -qa|grep mysql
本人得到的结果是:
mysql-community-common-5.7.25-1.el7.x86_64
mysql-community-client-5.7.25-1.el7.x86_64
mysql57-community-release-el7-10.noarch
mysql-community-server-5.7.25-1.el7.x86_64
mysql-community-libs-5.7.25-1.el7.x86_64
二、卸载以上所有已经安装过的包
rpm -e
mariadb-libs-5.5.60-1.el7_5.x86_64(删除mariadb包)
rpm
-e mysql-community-common-5.7.25-1.el7.x86_64(删除mysql包)
如果有错误提示如下,提示有第三方的库依赖:
error:Failed
dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed)
postfix-2:2.10.1-7.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit)
is needed by (installed)
postfix-2:2.10.1-7.el7.x86_64
三、强制卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
四、安装Mysql的库。
(CentOS7的yum源中默认是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。最开始CentOS下自带一个数据库检查该机器上是否安装过mysql; rpm -qa|grep -i mysql,如果没有任何输入证明没有安装过,如果安装过需要卸载的话用rpm -e
软件包名来卸载)
首先输入 yum list | grep mysql
命令来查看yum上提供的mysql数据库可下载的版本:
1
yum list | grep mysql
就可以得到yum服务器上mysql数据库的可下载版本信息:
1.下载并安装MySQL官方的 Yum
Repository
1
wget -i -c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
如果 wegt 未安装的话可以先用 yum 安装 wget :
1
yum install wget
2.
安装mysql57-community-release-el7-10.noarch.rpm包
1
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装这个包后,会获得两个mysql的yum
repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3. 安装MySQL
1
yum install -y mysql-server
至此MySQL就安装完成了,然后是对MySQL的一些设置。
4.重置MySQL密码
在MySQL安装完成后,第一次启动MySQL时,会把密码记录到 /var/log/mysqld.log 文件中
首先启动MySQL:
1
systemctl
start mysqld.service
查看mysql运行状态:Started MySQL Server.
1
systemctl status
mysqld.service
找出在日志文件中的密码:
1
grep 'temporary password'
/var/log/mysqld.log然后把临时密码复制下来,进入数据库进行修改密码。
进入数据库
1
mysql -u root -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
1
SET PASSWORD =
PASSWORD('XXXXXXXX');
新密码要数字字母,否则会报错
如果一直说设置的新密码密码不合法,可以做着两部再修改密码。
设置安全级别set global
validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
默认密码长度为8,可以设置为其它值,最小4位
set global validate_password_length=8;
Query OK, 0 rows affected (0.00 sec)
最后注意:
使用pymysql连接Mysql服务器的数据库,发现连接不到,错误代码是1130,pymysql.err.InternalError:
(1130,'xxxxx' is not allowed to connect to this MySQL
server")
实际上是权限问题。如下操作mysql库,即可解决。登录mysql后,更改 “mysql” 数据库里的
“user” 表里的 “host” 项,从”localhost”改称'%'。。
第一步:以权限用户root登录
mysql -u root
-p
第二步:选择mysql库
mysql>use
mysql;
第三步:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
mysql>select
'host' from user where user='root';
第四步:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
mysql>update
user set host = '%' where user ='root';
第五步:刷新MySQL的系统权限相关表
mysql>flush
privileges;
第六步:重起mysql服务即可完成。
以上为本人学习过程,欢迎大家一起交流学习,我的微信号:aierlankfei2000。