LINUX下RPM安装MYSQL5.6

2021-08-09 18:04:35 浏览数 (1)

之前使用yum安装mysql确实很方便,但是默认安装的myql5.0版本的,不支持utf8mb4(utf8mb4扩展到一个字符最多能有4节,所以能支持更多的字符集,比如支持emoji表情)编码格式,所以要升级数据库,yum库升级貌似有点费劲,果断卸载了,使用rpm直接安装,卸载的时候遇到一些问题,要卸载干净请参考之前写的一篇文章:http://blog.csdn.net/tjcyjd/article/details/52189182,言归正传,如何安装呢,其实很简单:

1.先到管网地址下载两个包。

下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

进入下载页面有,选择如下:

选择linux-generic后,又有很多产品选择,我们只下载以下2个就可以了,一个服务包,一个客户端包

Linux - Generic (glibc 2.5) (x86, 64-bit), RPM Package 

MySQL Server

(MySQL-server-5.6.32-1.linux_glibc2.5.i386.rpm)

下载地址

代码语言:javascript复制
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.32-1.linux_glibc2.5.x86_64.rpm

Linux - Generic (glibc 2.5) (x86, 64-bit), RPM Package 

Client Utilities

(MySQL-client-5.6.32-1.linux_glibc2.5.x86_64.rpm)

下载地址

代码语言:javascript复制
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.32-1.linux_glibc2.5.x86_64.rpm
  1. 检查系统是否已经安装了mysql mariadb
代码语言:javascript复制
rpm -qa | grep -i mysqlrpm -qa | grep -i mariadb

由于CentOS默认的数据库是mariadb,这个会和mysql冲突,所以一般都会先卸载一下 rpm -e mariadb-libs-1:5.5.44-2.el7.centos.x86_64 --nodeps 另外如果显示出来安装了的mysql,用以下命令卸载,如有多个用空格隔开多个rpm,如

代码语言:javascript复制
rpm -e --nodeps  MySQL-devel-5.6.29-1.rhel5.x86_64 MySQL-client-5.6.29-1.rhel5.x86_64 MySQL-server-5.6.29-1.rhel5.x86_64

如果在安装过程中有提示找不到Perl或者net-tools等,按提示yum安装即可

代码语言:javascript复制
yun install Perlyum install net-toolsyum install -y perl-Module-Install.noarch 

进入下载文件所以目录进行安装

  1. > rpm -ivh MySQL-server-5.6.32-1.linux_glibc2.5.i386.rpm
  2. > rpm -ivh MySQL-client-5.6.32-1.linux_glibc2.5.x86_64.rpm

安装完之后启动mysql

代码语言:javascript复制
> service mysql start

登录mysql

代码语言:javascript复制
mysql [-u username] [-h host] [-p[password]] [dbname]

新装mysql连接时会报错:ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (using password: NO) 

解决方案如下:

方法一: 

  1. # /etc/init.d/mysql stop
  2. # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
  3. # mysql -u root mysql
  4. mysql> UPDATE user SET Password=PASSWORD('xxxxxx') where USER='root';
  5. mysql> FLUSH PRIVILEGES;
  6. mysql> quit
  7. # /etc/init.d/mysql restart
  8. # mysql -uroot -p

Enter password: <输入新设的密码newpassword> 

mysql> 

方法二:  直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:  # mysql -udebian-sys-maint -p  Enter password: <输入[client]节的密码>  mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;  mysql> FLUSH PRIVILEGES;  mysql> quit  # mysql -uroot -p  Enter password: <输入新设的密码newpassword> 

mysql> 

方法三:  # mysql -uroot -p  Enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>  至此,困惑多时的问题解决了!

如果use mysql出现以下错误:

代码语言:javascript复制
1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

则提示修改密码:

代码语言:javascript复制
set password=password("xxxxxx");
代码语言:javascript复制
flush privileges;
代码语言:javascript复制
use mysql

ok

0 人点赞