前言:
其实CentOS已经不支持Mysql,因为Mariadb
这个亲儿子,隶属于Mysql的一个分支,让人唏嘘的是它的缔造者也是mysql的原班人马,这也是很有远见的,mysql被Oracle收购,逐渐闭源这也是大势所趋。
CentOS7已经不支持yum在线安装Mysql8了。
解决方法有三个:
方法1:切换服务器版本或者服务器型号
切换服务器为CentOS6
就可以通过 yum -y install 在线安装mysql服务
或者使用Ubuntu
方法2:顺应潮流使用Mariadb
我也想过这么干,可是啊,问题就在于我的项目都是基于Mysql的,虽然基本操作方式差不多,但也是比较麻烦的,所以我也就放弃了。
参考:
https://www.cnblogs.com/bincoding/p/6208521.html
yum install -y mariadb mariadb-server
方法3:rpm自行安装
CentOS7服务器默认已经自带了一个mysql服务包:
这会阻碍我们mysql的安装,所以要卸载掉该软件包:
mariadb-libs
第一步确定是否安装过mysql或者mariadb:
rpm -qa | grep mysql
rpm -qa | grep mariadb
将得到的软件包都卸载,不管有没有装载过数据库都存在mariadb-libs
第二步卸载:
–nodeps 是强制卸载,不管有没有依赖包
1. 没有安装过mariadb-libs
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
- 安装了
mariadb-libs
systemctl stop mariadb
rpm -e --nodeps mariadb-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-server-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
再检查配置文件:
ls /etc/my.cnf
ll /var/lib/mysql/
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql/
第三步:wget上传linux版mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.12-1.el7.x86_64.rpm-bundle.tar
或者本地下载好文件通过工具:winSCP
上传。
注意 :地址一般为 /root/
tar文件如下:
mysql-8.0.12-1.el7.x86_64.rpm-bundle.tar
第四步解压:
tar -xvf mysql-8.0.12-1.el7.x86_64.rpm-bundle.tar
获得多个rpm文件:
mysql-community-common-8.0.12-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.12-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.12-1.el7.x86_64.rpm
mysql-community-server-8.0.12-1.el7.x86_64.rpm
mysql-community-server-minimal-8.0.12-1.el7.x86_64.rpm
mysql-community-libs-8.0.12-1.el7.x86_64.rpm
mysql-community-client-8.0.12-1.el7.x86_64.rpm
mysql-community-devel-8.0.12-1.el7.x86_64.rpm
mysql-community-test-8.0.12-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-8.0.12-1.el7.x86_64.rpm
第一次搞得时候 我全部都安装……结果一大堆错,其实就需要顺序安装这四个就行:
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
报错:缺少依赖包
mysql-community-libs(x86-64) >= 8.0.0 is needed by mysql-community-libs-compat-8.0.12-1.el7.x86_64
解决方案:下载依赖包
yum install -y numactl
到这里mysql已经下载好了。
cat /etc/my.cnf
可以看到里面有东西了 表示表示配置好了
第五步:数据库初始化
这时是默认随机密码
mysqld --initialize --user=mysql
可以通过日志查看密码:
cat /var/log/mysqld.log
寻找
root@localhost: pFqg?iORz6tI //这就是密码
第六步:开启mysql服务
systemctl start mysqld.service
第七步:修改密码:
mysql -uroot -p
Enter password:
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
第八步:设置 MySQL 服务开机启动
systemctl enable mysqld
关闭mysql服务:
systemctl stop mysqld
查看mysql服务状态:
systemctl status mysqld
注意:
查看数据库的编码格式:默认是utf-8 不需要修改 如果需要修改
vim /etc/my.cnf
mysql> show variables like '%character%';
参考:
CentOS 7 安装与卸载MySQL 5.7
http://www.cnblogs.com/pythonal/p/6141516.html
CentOS 7 rpm 安装MySQL 详解