本文使用 MySQL-5.7.18。操作系统为 64 位 CentOS Linux release 7.2.1511 (Core),以桌面形式安装。
CentOS7 默认安装 MariaDB 而不是 MySQL,而且 yum 服务器上也移除了 MySQL 相关的软件包。因为 MariaDB 和 MySQL 可能会冲突,故先卸载 MariaDB。
- rpm -qa |grepmariadb
命令的结果判断。
- rpm
- yumlistmariadb-libs
命令的结果判断。此步骤需要 root 权限。
- yum list
- yumremovemariadb-libs
由于软件包很大,可以先用其他方式(如迅雷)下载。使用 rpm 方式,还可在无法联网的条件下安装——这是 yum 无法做到的。如需安装其他版本的 MySQL,请自行到官网搜索相应的 rpm 下载链接。
- wget https: //cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
以下步骤需要 root 权限。且因包之间的依赖关系,各
命令必须按序执行。
- rpm
- mkdirmysql-5.7.18tar -xv -f mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7.18
- cdmysql-5.7.18/
- rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
- rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
- rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
- rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
安装成功后,也可把安装文件和临时文件删除。
- cd..rm -rf mysql-5.7.18
- rm mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
以下步骤需要 root 权限。
令 MySQL 跳过登录时的权限检验。加入一行:
- /etc/my.cnf
- skip-grant-tables
- servicemysqld restart
- mysql
- usemysql;UPDATE user SETauthentication_string =password('your-password')WHEREhost ='localhost' AND user='root';
- quit;
删除此前新增那一行
- /etc/my.cnf
,并重启 MySQL。这一步非常重要,不执行可能导致严重的安全问题。
- skip-grant-tables
- mysql-u root -p
- ALTER USERroot@localhostIDENTIFIED BY 'your-new-password';
步骤可能略显麻烦,还未想到其他办法,先这样用着。
来源: http://www.linuxidc.com/Linux/2017-05/144363.htm