1 版本
目前MySQL数据库按用户群分为社区版(Community Server)和企业版(Enterprise/commercial)。--commercial授权版本
社区版是免费下载的,企业版需要付费且不能在线下载。
社区版分为3种:
GA(General Availability):官方推荐使用的版本(本文使用版本)。
RC(Release Candidate):候选版本,该版本是接近正式版的版本。
Alpha和Bean都是测试版本,Alpha是内测版本。Bean是公测版本。
2介质
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/路径下备用
1 安装
1.1 检查安装状态及版本信息
1.1.1 rpm格式安装的mysql卸载方式
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
卸载命令如下图
1.1.2 二进制包格式安装的mysql卸载
如果mysql是通过二进制包格式安装的,那么rpm –qa|grep mysql 的命令是根本查不到结果的,需要按以下方式进行卸载清除
首先停止mysql服务,查看运行状态如下图
service mysql stop
service mysql status
接下来,查找所有msyql文件进行删除(标红框的除外,如果没有则全部删除)
find / -name mysql
可能会报
不用管,继续向下执行即可。
然后,根据查询结果执行删除命令,红色字即为上面的查询结果,其他同理
rm -rf /etc/rc.d/init.d/mysql
最后,查看和删除mysql用户
id mysql(查看MySQL用户)
userdel mysql(删除MySQL用户)
另外,还要删除可能存在的配置文件
rm -f /etc/my.cnf
rm -f /usr/my.cnf
至此卸载完成。
1.2 安装客户端
rpm -ivh MySQL-client-5.6.13-1.el6.x86_64.rpm
1.3 安装服务器端
rpm -ivh MySQL-server-5.6.13-1.el6.x86_64.rpm
在CentOS 7.0中安装服务器端时可能会遇到下面的2个问题
问题1:
原因是系统已经安装了其他版本的mysql-libs包导致不兼容,执行命令
yum -y remove mysql-libs
再次执行服务端的安装命令即可
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
请在联网的条件下执行如下命令
yum install cpanminus
再次执行服务端的安装命令
rpm -ivh MySQL-server-5.6.13-1.el6.x86_64.rpm
仍存在问题的话,请返回卸载数据库并重新安装
1.4 目录结构
安装后会创建mysql组、mysql用户。数据库目录的属组为mysql:mysql
find / -name mysql
1.5 数据库基本操作
1.5.1 查看状态
service mysql status(查看MySQL服务的状态)
说明:图中状态表示mysql服务未启动
如果遇到如下错误
ERROR! MySQL is running but PID file could not be found
请执行如下命令
ps -ef|grep mysql
执行kill命令杀死查到的mysql相关进程,将红色部分修改为当前查到的PID
kill -9 15602
kill -9 15765
再次执行下述命令
ps -ef|grep mysql
结果如下图所示
1.5.2 启动
service mysql start
1.5.3 重启
service mysql restart
1.5.4 停止
service mysql stop
1.1.1 自启动
chkconfig --list mysql
说明:本例中mysql安装完成后已经是开机自启动[nsitd2] 状态,所以不需要变更。
1.1.2 密码修改
1.1.2.1 RedHat版修改
Mysql数据库启动后,会为root用户默认生成密码,通过命令
cat /root/.mysql_secret
可以查看到密码信息,本例为(jX5fXi3Y)
输入命令:
mysqladmin -uroot -p password 'root'[nsitd3]
输入命令后系统提示输入密码(Enter password),此处输入myql现有的密码即自动生成的随机密码[nsitd4] (本例为jX5fXi3Y)
1.1.2.2 CentOS 7版修改
跳过授权表启动Mysql服务器,输入命令:
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
命令行出不来点击 Ctrl+c 即可,登录输入命令:
mysql -u root mysql
修改密码输入(句尾的分号也要输入),注意红色部分为自定义的密码,单引号不要丢
UPDATE user SET Password=PASSWORD('****') where USER='root';
输入(句尾的分号也要输入)
FLUSH PRIVILEGES;
输入(句尾的分号也要输入)
quit;
重启mysql服务即可,输入
service mysql restart
1.1.3 测试登录
输入如下命令(红色部分为自定义的密码)
mysql -uroot –p****
显示如下图即登录成功
登录成功即可,输入 quit; (句末的分号不能丢)退出mysql
2 数据库配置
2.1 配置文件
拷贝mysql默认配置文件到/etc目录下,并进行编辑
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
vi /etc/my.cnf
按I键进入编辑模式,在[mysqld]段落进行编辑 (位置不可错),增加或编辑内容
lower_case_table_names =1
max_allowed_packet = 20M
skip-name-resolve
symbolic-links=0
按ESC键,退出编辑模式,输入:wq命令保存退出,结果如下图:
图 4.1 mysql配置文件
1.1 登录授权
登录到mysql后执行命令授权root用户可以在本机IP(本例mysql所在服务器IP为172.16.254.103)或者任意ip(%)登录,%可以配置为指定的IP地址,以方便客户端连接mysql数据库进行管理;以下命令为mysql命令:
(在centos7版中执行下述语句可能报错,下面有解决办法)
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
grant all privileges on *.* to 'root'@'172.16.254.103' identified by 'root' with grant option;
如果在CentOS7版中执行以上语句报如下错误
只需要输入如下命令即可(红色部分为自定义密码):
SET PASSWORD = PASSWORD('****');
mysql> flush privileges;[nsitd1]
mysql> quit;
说明:%代表任意可达的访问mysql数据库服务器客户端IP,可以根据实际情况修改为指定的客户端IP。执行及结果如图
图 4.2
刷新权限,使改变生效