目录
前言
软件准备
检查MySQL是否安装及版本信息
卸载
1、rpm格式安装的mysql卸载方式
2、二进制包格式安装的mysql卸载
安装
1、安装客户端
2、安装服务端
目录结构
数据库基本操作
1、查看状态
2、启动
3、重启
4、停止
5、自启动
密码修改(CentOS 7版)
测试登录
数据库配置
1、基础设置
登录授权
目前MySQL数据库按用户群分为社区版(Community Server)和企业版(Enterprise/commercial)。–commercial授权版本
社区版是免费下载的,企业版需要付费且不能在线下载。
社区版分为3种:
GA(General Availability):官方推荐使用的版本(本文使用版本)。
RC(Release Candidate):候选版本,该版本是接近正式版的版本。
Alpha和Bean都是测试版本,Alpha是内测版本。Bean是公测版本。
官网:www.mysql.com/
MySQL-devel-5.6.13-1.el6.x86_64.rpm 数据库依赖包
MySQL-client-5.6.13-1.el6.x86_64.rpm 数据库客户端
MySQL-server-5.6.13-1.el6.x86_64.rpm 数据库服务器
可将下载的文件上传到/tmp/路径下备用
安装前请先检查系统是否安装过mysql。
[root@master software]# rpm -qa|grep -i mysql
如果系统已经安装过mysql数据库,版本5.1.47(如下图)
根据查询结果对mysql相关软件包进行卸载。
例如对于mysql-5.1.47-4.el6.x86_64这个包,卸载命令为:
rpm -e mysql-5.1.47-4.el6.x86_64 –nodeps
说明:-e参数表示删除 –nodeps表示不校验依赖关系
主要卸载内容一般包括以下包
mysql-5.1.47-4.el6.x86_64
mysql-connector-odbc-5.1.5r1144-7.el6.x86_64
mysql-libs-5.1.47-4.el6.x86_64
mysql-devel-5.1.47-4.el6.x86_64
mysql-server-5.1.47-4.el6.x86_64
卸载命令如下图
如果mysql是通过二进制包格式安装的,那么rpm–qa|grep mysql的命令是根本查不到结果的,需要按以下方式进行卸载清除。
首先停止mysql服务,查看运行状态如下图:
#停掉mysql
service mysql stop
#查看状态
service mysql status
接下来,查找所有msyql文件进行删除
[root@master software]# find / -name mysql
可能会报
不用管,继续向下执行即可。
然后,根据查询结果执行删除命令,红色字即为上面的查询结果,其他同理 rm -rf /usr/lib64/mysql
[root@master software]# rm -rf /usr/lib64/mysql
最后,查看和删除mysql用户
#查看MySQL用户
[root@master software]# id mysql
#删除MySQL用户
[root@master software]# userdel mysql
另外,还要删除可能存在的配置文件
[root@master software]# rm -f /etc/my.cnf
[root@master software]# rm -f /usr/my.cnf
至此卸载完成。
[root@master software]# rpm -ivh MySQL-client-5.6.13-1.el6.x86_64.rpm
[root@master software]# rpm -ivh MySQL-server-5.6.13-1.el6.x86_64.rpm
在CentOS 7.0中安装服务器端时可能会遇到下面的2个问题:
问题1:
原因是系统已经安装了其他版本的mysql-libs包导致不兼容,执行命令:
[root@master software]# yum -y remove mysql-libs
如图所示:
再次执行服务端的安装命令即可
[root@master software]# rpm -ivh MySQL-server-5.6.13-1.el6.x86_64.rpm
问题2:
安装的过程中遇到如下的错误
Can’t locate Data/Dumper.pm in @INC (@INC contains: /usr/localb64/perl5 /usr/local/perl5
请在联网的条件下执行如下命令:
[root@master software]# yum install cpanminus
安装过程中选择y ,如上图所示。
再次执行服务端的安装命令
[root@master software]# rpm -ivh MySQL-server-5.6.13-1.el6.x86_64.rpm
仍存在问题的话,请卸载数据库并重新安装
安装成功后会创建mysql组、mysql用户。数据库目录的属组为mysql:mysql
[root@master software]# find / -name mysql
#查看MySQL服务的状态)
[root@master software]# service mysql status
说明:图中状态表示mysql服务未启动
如果遇到如下错误ERROR! MySQL is running but PID file could not be found
请执行如下命令:
[root@master software]# ps -ef|grep mysql
执行kill命令杀死查到的mysql相关进程,将红色部分修改为当前查到的PID
kill -9 15602
kill -9 15765
再次执行下述命令
ps -ef|grep mysql
结果如下图所示
[root@master software]# service mysql start
启动mysql数据库的时候如果遇到如下错误:Starting MySQL… ERROR! The server quit without updating PID file (/var/lib/mysql/master.pid).
这是因为新安装的mysql服务后,一般需要执行数据库初始化操作 ,从而生成与权限相关的表,执行命令如下:
[root@master software]# /usr/bin/mysql_install_db --user=mysql
再次执行启动命令:
[root@master software]# service mysql start
[root@master software]# service mysql restart
[root@master software]# service mysql stop
[root@master software]# chkconfig --list mysql
说明:本例中mysql安装完成后已经是开机自启动状态,所以不需要变更。
0****-6********代表不同的启动级别,0-6是redhat的7种启动方式,其中3是命令行模式,5是图形界面模式****
如果结果7个级别全部为关闭(off),那么通过命令 #chkconfig mysql on 进行开启
跳过授权表启动Mysql服务器,输入命令:
[root@master software]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
如果出现以下问题,请将mysql进程杀掉。
命令行出不来点击 Ctrl+c 即可,登录输入命令:
[root@master software]# mysql -u root mysql
修改密码输入(句尾的分号也要输入),注意红色部分为自定义的密码,单引号不要丢
mysql> UPDATE user SET Password=PASSWORD('root') where USER='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
输入(句尾的分号也要输入)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
输入(句尾的分号也要输入)
mysql> quit;
Bye
[root@master software]#
重启mysql服务即可,输入
[root@master software]# service mysql restart
输入如下命令(红色部分为自定义的密码)
[root@master software]# mysql -uroot -proot
显示如下图即登录成功
登录成功即可,输入quit;(句末的分号不能丢)退出mysql
拷贝mysql默认配置文件到/etc目录下,并进行编辑
[root@master software]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
[root@master software]# vi /etc/my.cnf
按"i"键进入编辑模式,在[mysqld]段落进行编辑(位置不可错),增加或编辑内容
lower_case_table_names=1
max_allowed_packet = 20M
skip-name-resolve
symbolic-links=0
按ESC键,退出编辑模式,输入:wq命令保存退出,结果如下图:
登录到mysql后执行命令授权root用户,以方便客户端连接mysql数据库进行管理;以下命令为mysql命令:
mysql> grant all privileges on *.* to 'root'@'172.16.254.103' identified by 'root' with grant option;
grant all privileges on *.* to ‘root’@‘%’ identified by ‘root’ with grant option;
说明:任意的IP都可以登录mysql
grant all privileges on *.* to ‘root’@‘172.16.254.103’ identified by ‘root’ with grant option;
说明:只有IP为172.16.254.103的可以登录mysql
%代表任意可达的访问mysql数据库服务器客户端IP,可以根据实际情况修改为指定的客户端IP。
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit;
Bye