参考:CentOS 6.6下RPM方式安装MySQL 5.7.9
linux系统版本:centos6.6
mysql版本:mysql-8.0.11-1.el6.i686.rpm-bundle.tar
1. 创建一个名为mysql且没有登录权限的用户和一个名为mysql的用户组
groupadd -r mysql
useradd -r -g mysql -s /bin/false -M mysql
2. 卸载掉原有mysql
#查看该操作系统上是否已经安装了mysql数据库
rpm -qa | grep mysql
#通过 rpm -e 命令 或者 rpm -e --nodeps 命令卸载
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式(包括依赖包)
#如果没有安装,只是有包,则remove
yum -y remove mysql-libs
yum remove 全文件名
#查看卸载是否成功
rpm -qa | grep mysql
找到所有mysql目录,并删除
find / -name mysql
3. 创建mysql需要目录、赋权限
mkdir /usr/local/mysql
mkdir /usr/local/data
chown -R mysql:mysql /usr/local/mysql
4. 下载mysql8包并解压
tar -xvf mysql-8.0.11-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql/
执行结果:
[root@bogon ~]# tar -xvf mysql-8.0.11-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql/
mysql-community-libs-compat-8.0.11-1.el6.i686.rpm
mysql-community-server-8.0.11-1.el6.i686.rpm
mysql-community-common-8.0.11-1.el6.i686.rpm
mysql-community-libs-8.0.11-1.el6.i686.rpm
mysql-community-client-8.0.11-1.el6.i686.rpm
mysql-community-test-8.0.11-1.el6.i686.rpm
mysql-community-devel-8.0.11-1.el6.i686.rpm
[root@bogon ~]#
5. 使用rpm软件包安装mysql
1)
#安装依赖包
1.1)
rpm -ivh mysql-community-common-8.0.11-1.el6.i686.rpm
执行结果:
[root@bogon ~]# cd /usr/local/src/
[root@bogon src]# rpm -ivh mysql-community-common-8.0.11-1.el6.i686.rpm
warning: mysql-community-common-8.0.11-1.el6.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:mysql-community-common ########################################### [100%]
[root@bogon src]#
1.2)
rpm -ivh mysql-community-libs-8.0.11-1.el6.i686.rpm
执行结果:
[root@bogon src]# rpm -ivh mysql-community-libs-8.0.11-1.el6.i686.rpm
warning: mysql-community-libs-8.0.11-1.el6.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:mysql-community-libs ########################################### [100%]
[root@bogon src]#
2)
#安装客户端
rpm -ivh mysql-community-client-8.0.11-1.el6.i686.rpm
执行结果:
[root@bogon src]# rpm -ivh mysql-community-client-8.0.11-1.el6.i686.rpm
warning: mysql-community-client-8.0.11-1.el6.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:mysql-community-client ########################################### [100%]
[root@bogon src]#
3)
#安装服务端
rpm -ivh mysql-community-server-8.0.11-1.el6.i686.rpm
执行结果:
3.1)没成功到
[root@bogon src]# rpm -ivh mysql-community-server-8.0.11-1.el6.i686.rpm
warning: mysql-community-server-8.0.11-1.el6.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
file /etc/my.cnf from install of mysql-community-server-8.0.11-1.el6.i686 conflicts with file from package mysql-libs-5.1.73-3.el6_5.i686
[root@bogon src]#
3.2)成功的
[root@bogon src]# rpm -ivh mysql-community-server-8.0.11-1.el6.i686.rpm
warning: mysql-community-server-8.0.11-1.el6.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:mysql-community-server ########################################### [100%]
[root@bogon src]#
6(我没有操作这一步). 根据/etc/my.cnf创建相应的文件,并授权
mkdir -p /var/run/mysql
mkdir -p /var/log/mysql
chown -R mysql:mysql /var/log/mysql
chown -R mysql:mysql /var/run/mysql
注:/etc/my.cnf中没有basedir路径,需要添加
basedir=/usr/local/mysql
查询/etc/my.cnf结果:
[root@bogon src]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@bogon src]#
7. 初始化数据库
这里我执行到是:
#不会为root账户生成一个随机的初始密码
#使用命令:mysql -u root --skip-password直接登录MySQL
mysqld --initialize-insecure --user=mysql
第一次按照7.2执行到,登录时总是报错,导致了重装了一次mysql
7.1)
cd /usr/bin
#会为root账户生成一个随机的初始密码( 密码位置:/var/log/mysqld.log )
#使用命令:mysql -u root -p,然后输入密码来登录MySQL
mysqld --initialize --user=mysql
#不会为root账户生成一个随机的初始密码
#使用命令:mysql -u root --skip-password直接登录MySQL
mysqld --initialize-insecure --user=mysql
注:初始化时,mysqld服务会检查数据目录是否存在:
如果数据目录不存在,mysqld则会创建它。
如果数据目录存在,且不是空目录(即包含有文件或子目录),mysqld会显示一条错误信息并中止:
[ERROR] --initialize specified but the data
directory exists. Aborting.
解决方案: 将数据目录重命名后,重新再初始化一次 mv /var/lib/mysql /var/lib/mysql.bak8.
或
7.2)
初始化数据库,生成root@localhost和密码,把密码记下
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
执行效果:
[root@bogon ~]# find / -name mysqld
/var/run/mysqld
/etc/rc.d/init.d/mysqld
/usr/sbin/mysqld
[root@bogon ~]# /usr/sbin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
[root@bogon ~]#
执行:
tail -f /var/log/mysqld.log
结果(执行上边到生成到密码):
2018-06-30T20:37:07.991263Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mx+;&Eg-e6Y0
8. 配置mysql服务开机自动启动
#检查自启动项列表中没有mysqld这个,如果没有就添加mysqld:
chkconfig --list mysqld
chkconfig --add mysqld
#设置开机启动
chkconfig mysqld on
9. 启动mysql
9.1)(我选择到)
#启动mysqld服务
service mysqld start
#检查mysqld是否已经启动
service mysqld status
或
9.2)
启动mysql服务,检查服务是否启动成功
/usr/bin/mysqld_safe --user=mysql &
9.2执行结果:
[root@bogon ~]# /usr/bin/mysqld_safe --user=mysql &
[1] 29350
[root@bogon ~]# 2018-06-30T20:43:40.371191Z mysqld_safe Logging to '/var/log/mysqld.log'.
2018-06-30T20:43:40.482047Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
[root@bogon ~]#
10修改密码及远程登陆
登录mysql
mysql -u root --skip-password
在mysql中修改root用户密码为root
alter user 'root'@'localhost' identified by 'root';
11.退出,用新密码登录测试
mysql -uroot -proot
执行结果:
[root@bogon sbin]# mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.11 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
以上即centos6.6安装mysql步骤。