您的位置:首页 > 运维架构 > Linux

CentOS7下安装配置MySQL

2017-06-28 18:28 477 查看

一、环境准备

CentOS7

MySQL5

二、rpm安装MySQL

卸载MySQL
1.卸载已安装的mysql

输入如下命令查看是否已安装了mysql

# rpm -qa | grep -i mysql


如果系统返回以mysql开头的软件包信息(如图所示),则需先卸载已装mysql版本;如果没有返回信息,则无需进行卸载操作。



卸载之前请确认mysql服务是否已关闭,使用如下命令查看mysql状态及关闭mysql服务,如果mysql为running状态,则先停止

# systemctl status mysql.service    # 查看mysql状态
# systemctl stop mysql.service      # 停止mysql服务


输入如下命令,列出已安装的mysql项,然后开始卸载

# rpm -qa|grep mysql    # 列出已安装的mysql项
# rpm -e --nodeps mysql安装包名称 # 使用该命令依次卸载已安装的mysql项


–nodeps:表示强制卸载,如果因为依赖关系导致卸载不成功,加上强制卸载选项–nodeps

卸载完成后需要删除mysql的相关文件及目录,输入如下命令查看待删除的文件目录

# find / -name "mysql"




使用如下命令依次删除mysql的文件目录

# rm  -rf  文件目录


部分截图如下



删除mysql的配置文件

# rm -rf /etc/my.cnf


删除mysql用户及用户组

# id mysql  # 查看mysql用户及用户组
# userdel mysql # 删除mysql用户及用户组


2.卸载系统默认安装的Mariadb

输入如下命令查看系统已安装的mariadb软件包

# rpm qa | grep -i mariadb




执行命令卸载

# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
# rpm -e --nodeps mariadb-server-5.5.41-2.el7_0.x86_64
# rpm -e --nodeps mariadb-5.5.41-2.el7_0.x86_64


卸载完成后再次使用上述命令查看系统已安装的mariadb软件包,如果没有表示卸载成功

安装 MySQL
1.下载mysql的rpm包

安装mysql,需要安装如下五个安装包,这五个安装包,才能获得一个标准功能的MySQL。

mysql-community-server
mysql-community-client
mysql-community-libs
mysql-community-common
mysql-community-libs-compat


官网下载:http://www.mysql.com/





在下载页面找到要下载的rpm包,点击”Download”按钮进行下载,笔者下载的是mysql5.7.11



2.安装mysql

使用远程连接工具 xshell 将 mysql 的 rpm 包上传到 CentOS7,比如:笔者将 mysql 的 rpm 包上传到了 /usr/local/mysql5.7.11 目录





授予mysql安装包可执行权限(如果已拥有了可执行权限,此步骤可省略)

# chmod 755 mysql*


执行如下命令依次安装

# rpm -ivh mysql-community-common-5.7.11-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-5.7.11-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-compat-5.7.11-1.el7.x86_64.rpm
# rpm -ivh mysql-community-client-5.7.11-1.el7.x86_64.rpm
# rpm -ivh mysql-community-server-5.7.11-1.el7.x86_64.rpm


注意:是依次执行,不要乱了顺序,因为它们之间有依赖关系

安装过程截图



安装时出现如下错误



原因:系统已经安装了其他版本的mysql-libs包和mysql数据库文件不兼容

解决方法,执行如下命令删除mysql数据库文件,继续安装即可

# yum remove mysql-libs


mysql 安装完成后,输入如下命令启动 mysql 服务

# systemctl start mysqld.service    # 启动mysql服务
# systemctl status mysqld.service   # 查看mysql服务状态




mysql服务状态为 running,表示启动成功

配置 MySQL
1.设置mysql root 用户密码

mysql安装完成后,root用户会有一个初始密码,这个密码我们不用,需要进行修改,笔者安装的是mysql5.7.11。

mysql5.7.11版本的root用户初始密码不再存储在/root/.mysql_secret文件中,而是存在错误日志中/var/log/mysqld.log;

输入如下命令查看 root 用户的初始化密码

# grep 'temporary password' /var/log/mysqld.log




如果输入命令后没有查看到root的初始密码,原因是因为你的操作系统之前安装过mysql,卸载后再重新安装后,需要进行初始化,才能产生 root 用户的初始密码,初始化前先停止mysql服务

# systemctl stop mysqld.service


然后删除原数据文件及目录

# rm -rf /var/lib/mysql
# rm -rf /var/log/mysqld.log
# cd /usr/sbin


最后再初始化 root 用户密码,再次输入命令就可以查看到 root 用户的初始密码了

#mysqld  --initialize  --user=mysql


使用上述 root 用户的初始密码登录mysql

[root@localhost tmp]# mysql -uroot -p
Enter password:[输入上一步查询到的初始密码]


修改 root 用户的初始密码,注意:该版本的MySQL对用户密码安全性有所加强,所以设置的密码必须包含至少一个数字、一个大写字母、一个小写字母和一个特殊符号的组合,密码长度至少8个字符。

使用 flush privileges 命令使修改密码后立即生效

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '输入你自己的密码'
mysql> flush privileges;




如果在修改密码时出现如下错误,表示密码不符合mysql的密码强度验证,重新输入即可,上述笔者已经说过此版本的mysql密码组合规则

ERROR 1819 (HY000):Your password does not satisfy the current policy requirements

修改成功后,使用新的密码登录,登录成功后可以看到 mysql 的版本信息

# mysql -uroot -p密码




2.windows下使用navicat或其他工具连接mysql

想要在windows下连接 centos7 中的 mysql 数据库,需要做如下操作

首先在 windows cmd 下可以 ping 通 centos7 的ip,比如:笔者 centos7 的 ip 为 192.168.1.66

# pint 192.168.1.66


然后为 root 用户授予远程登录权限,在 centos 7 中登录 mysql 后,执行如下命令,授予 root 用户远程登录权限

mysql> grant all privileges on *.* to 'root'@'%' identified by '输入你的密码' with grant option;
mysql> flush privileges;




如果查看到 OK,表示授权成功,否则授权失败

设置防火墙规则,打开 mysql 服务的3306端口

# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# firewall-cmd --reload




以上步骤缺一不可,设置完成后,在 windows 下连接 mysql 服务,笔者使用的是Navicat工具,直接百度下载,傻瓜式安装即可



三、yum安装MySQL

1.卸载已安装的 mysql

使用如下命令查看已安装的 mysql 项

# rpm -qa | grep -i mysql




输入命令卸载,yum 方式卸载 mysql 时会自动检测相关的依赖包并卸载,而 rpm 需要我们手动一个一个卸载。

# yum remove mysql-community-server-5.6.36-2.el7.x86_64




卸载过程中,会出现Is this ok [y/N]:的提示,询问是否要卸载,直接输入 y 卸载即可

卸载完成后,再次输入上述命令查看 mysql 项,如果没有了表示卸载成功



如果有则使用如下命令依次卸载(一般情况下 yum 都会自动检测卸载)

# yum remove mysql-xxx


卸载完成后,同样需要删除 mysql 的文件及目录、mysql的用户及用户组,与 rpm 方式一样,请参考上述 rpm 安装mysql

2.yum 安装mysql 高级版本

直接使用yum -y install 命令安装mysql是无法安装mysql的高级版本,需要先安装带有可用的mysql5系列社区版资源的rpm包,输入如下命令进行安装

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm[/code] 


使用如下命令查看mysql的可用版本

yum repolist enabled | grep "mysql.*-community.*"




然后就可以安装 mysql 了,一般我们只需要安装 mysql-server 和mysql-client 就可以了。

# yum -y install mysql-community-server


安装过程中yum会自己检测依赖包下载安装,等待安装完成即可

安装完成后启动 mysql 服务,可以使用如下命令让 mysq 服务加入开机自启动(可选),这样以后每次系统启动后就不用在手动启动 mysql 服务

# systemctl start mysql # 启动 mysql 服务
# systemctl enable mysqld # mysq 服务加入开机自启动
# systemctl status mysql  # 查看 mysql 服务状态


3.配置 mysql 数据库

创建用户,-u后面输入用户名,password 后面输入密码

# mysqladmin -uroot password root




在创建用户的时候可能会出现上图红色框中警告的内容,意思是在命令行界面上使用密码是不安全的,直接略过即可。

使用刚刚创建的用户登录mysql



windows 下 使用 Navicat 连接 CentOS7 中的 mysql 数据库,参照 rpm 安装 mysql(root 用户远程授权、开放3306端口)

总结:rpm 和 yum 安装,两则区别是,yum为在线安装,安装过程中,必须在有网的环境下,因为 yum 会自动检测从网上下载相关依赖包; 而 rpm 方式不会受是否有网所干扰,只要本地有 rpm 安装包就可以。具体在安装过程中选择那种方式,根据具体情况选择即可。两种方式均可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql centos rpm