一、环境准备
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
在下载页面找到要下载的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
使用如下命令查看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 安装包就可以。具体在安装过程中选择那种方式,根据具体情况选择即可。两种方式均可