Centos自带mariadb,查看是否有mariadb,如果有先卸载:
rpm -qa|grep mariadb
yum remove -y mariadb-libs-5.5.68-1.el7.x86_64
下载mysql安装包,我们需要下载社区版。
下载地址:MySQL :: Download MySQL Community Server (Archived Versions)
也可以直接wget
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-1.el7.x86_64.
下载后获得这个文件:
mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
tar -xvf 将其解压。
按照以下顺序进行安装,因为它们之间存在依赖关系
common --> libs --> clients --> server
安装
yum -y install mysql-community-common-*
yum -y install mysql-community-libs-5.7.30-1.el7.x86_64.rpm
yum -y install mysql-community-client-5.7.30-1.el7.x86_64.rpm
yum -y install mysql-community-server-5.7.30-1.el7.x86_64.rpm
或者通过rpm -ivh安装,遇到一个报错
只需 yum install libaio 安装相应包即可
依次安装成功后,启动MySQL服务
systemctl start mysqld.service
启动报错:
initialize specified but the data directory has files in it. Aborting
这个错误说明mysql中的data目录已经有数据了。查看vim /etc/my.cnf 里的datadir=/var/lib/mysql, 这个是data保存目录,进入/var/lib/mysql后,查看到确实有数据。
我们将/var/lib/mysql备份,
mv /var/lib/mysql /var/lib/mysqlback
然后重新启动MySQL。
首次进入MySQL需要修改密码
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES
在配置文件/etc/my.cnf里的mysqld下面添加一行,不用密码登录
skip-grant-tables
然后修改密码:
update mysql.user set authentication_string=password('admin') where user='root';
flush privileges;
需要远程连接MySQL的话,用grant赋予用户权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
FLUSH PRIVILEGES;
这里可能会有个需要修改密码的错误,按照要求修改密码即可:
alter user user() identified by "admin";