CentOs版本:CentOS release 6.3
操作用户:root
MySQL版本:5.6.34
1. MySQL安装方式
1.1 第一种是YUM安装,比较简单,直接通过命令“yum install -y mysql-server mysql mysql-devel
但是这种安装方式安装的版本都相对较老,是5.1版本的,而低版本的MySQL有个问题,创建表的时候带CURRENT_TIMESTAMP的timestamp列只允许存在一列,所以废弃。
1.2 官网下载较新的MySQL,下载地址:http://dev.mysql.com/downloads/mysql/
1) 页面默认给出最新版本,找寻之前版本,依次点击页面中的“Archived versions
2 ) 由于版本更新,操作系统选择redhat。如下图红圈所示:
3 ) 根据机器是32位还是64位选择对应正确版本,我下载的是“MySQL-5.6.34-1.linux_glibc2.5.x86_64.rpm-bundle.tar”
2. 卸载之前的MySQL
1) 安装之前需要检查是否有安装过的mysql,一般centOS都自带了mysql
检查下是否有启动mysql,启动则停掉
[root@DB-Server init.d]# service mysql status
[root@DB-Server init.d]# service mysql stop
[root@DB-Server init.d]# service mysql status
2) 卸载rpm包
a. 如果之前是下载了官网的mysql并且通过rpm -ivh安装的话(无论安装成功与否),需要先执行卸载命令:
rpm -ev MySQL-devel-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ev MySQL-devel-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ev MySQL-client-5.6.34-1.linux_glibc2.5.x86_64.rpm
b. 删除centOS自带的Mysql包
[root@DB-Server init.d]# yum remove
c. 手工删除mysql文件
[root@DB-Server init.d]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
[root@DB-Server init.d]# rm -rf /var/lib/mysql
[root@DB-Server init.d]# rm -rf /var/lib/mysql/mysql
[root@DB-Server init.d]# rm -rf /usr/lib64/mysql
[root@DB-Server init.d]#
d. 删除mysql用户和用户组
[root@DB-Server ~]# more /etc/passwd | grep mysql
mysql:x:101:501::/home/mysql:/bin/bash
[root@DB-Server ~]# more /etc/shadow | grep mysql
mysql:!!:16496::::::
[root@DB-Server ~]# more /etc/group | grep mysql
mysql:x:501:
[root@DB-Server ~]# userdel mysql
[root@DB-Server ~]# groupdel mysql
groupdel: group mysql does not exist
[root@DB-Server ~]#
e.确认删除
//该方式支持rpm安装的检查,二进制包安装不能用这个命令
[root@DB-Server init.d]# rpm -qa | grep -i mysql
3. 安装mysql
1) 将下载好的tar上传到服务器
2) 解压安装包,解压后有若干rpm包,我们只需要三个,分别是带server,client和devel的rpm包
tar -cvf MySQL-5.6.34-1.linux_glibc2.5.x86_64.rpm-bundle.tar
3)rpm安装
rpm -ivh MySQL-server-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-devel-5.6.34-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-client-5.6.34-1.linux_glibc2.5.x86_64.rpm
4) 修改配置文件地址
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
5
)初始数据库
[root@localhost rpm]# /usr/bin/mysql_install_db
6)启动数据库
service mysql start
7)更改root账户
[root@localhost rpm]# cat /root/.mysql_secret#查看root账号密码
# The random password set for the root user at Wed Dec 11 23:32:50 2013 (local time): qKTaFZnl
[root@localhost ~]# mysql -uroot –pqKTaFZnl
mysql> SET PASSWORD = PASSWORD('123456');#设置密码为123456
mysql> exit
8)赋权root用户允许外部通过工具连接,如navicat
GRANT ALL ON *.* TO root@localhost IDENTIFIED BY '123@abcd';
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123@abcd';
GRANT ALL ON *.* TO test_kjsc@localhost;
GRANT ALL ON *.* TO 'test_kjsc'@'%';
FLUSH PRIVILEGES;
9)设置开机启动
chkconfig mysql on
问题记录:
1. navicat连接失败
需要关闭CentOS防火墙
2. 启动mysql报错
我的mysql启动不了是因为之前启动过centos自带的mysql,没有卸载 干净,执行上面的卸载步骤即可。