我常常因为环境问题,影响开发进度。就像这次我因为在centos7安装mysql耽搁了好久,我刚开始安装的是5.7版本,装完后,起不来,翻阅网上各种解决方案,都解决不了问题。无奈,我打算重装,换个高版本(MySQL8.0.16),结果MySQL8.0.16和之前的版本有少许差异,也是折腾了我好些时间,所以,我打算把安装调试过程记录下,方便日后参阅。
第一步,清理环境
1. 首先,查看系统是否已经安装了mysql数据库
rpm -qa | grep mysql
演示如下:
[root@localhost etc]# rpm -qa | grep mysql
mysql-community-libs-8.0.16-2.el7.x86_64
mysql-community-common-8.0.16-2.el7.x86_64
mysql-community-client-8.0.16-2.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-server-8.0.16-2.el7.x86_64
2. 查询到已安装的MySQL库后,执行以下命令依次卸载
yum remove mysql-xxx-xxx
若没有查询后,没有安装Mysql库,可直接跳过此步。
3. 删除mysql的配置文件(MySQL卸载不会自动删除配置文件,需自行清理)
首先使用如下命令查找出所用的配置文件
find / -name mysql
[root@localhost etc]# find / -name mysql
/etc/logrotate.d/mysql
/var/lib/docker/overlay2/a74267a6cde69551beede82788b48f1430f6ac88e4c7a8cdf9bcf16b2125aac6/diff/etc/mysql
/var/lib/docker/overlay2/a74267a6cde69551beede82788b48f1430f6ac88e4c7a8cdf9bcf16b2125aac6/diff/usr/include/mysql
/var/lib/docker/overlay2/a74267a6cde69551beede82788b48f1430f6ac88e4c7a8cdf9bcf16b2125aac6/diff/usr/include/mysql/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
根据需求使用以下命令 依次 对配置文件进行删除
rm -rf /var/lib/mysql
二、删除MariaDB的文件
由于 在CentOS中默认安装有MariaDB,所以如果我们不删除MariaDB文件的话,安装mysql时可能会发生冲突。
1.使用rpm 命令查找出要删除的mariadb文件,命令如下
rpm -pa | grep mariadb
可能出现结果
mariadb-libs-5.5.56-2.el7.x86_64
删除上面的程序
yum -y remove mariadb-libs.x86_64
至此,原有的mysql和mariadb数据库就删除了
三、安装mysql
1. 安装mysql官网提供的mysql repo源
网址:https://dev.mysql.com/downloads/repo/yum/ 操作如下:
2. 使用命令“yum install wget 安装wget,接下来在线安装mysql。使用命令
wget http://dev.mysql.com/get/Downloads/mysql80-community-release-el7-1.noarch.rpm
3. 安装mysql80-community-release-el7-1.noarch.rpm包。使用命令:
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
4. 使用命令 “yum install mysql-community-server”安装mysql。大概有1个多G,请耐心等待安装完成
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
六、配置大小写不敏感(初始化前设置大小写不敏感)
初始化前指定 lower_case_table_names = 1: 方法,在初次使用 systemd 启动 mysqld 之前,在MySQL配置文件( /etc/my.cnf )中添加 lower_case_table_names=1。
四、mysql初始化配置
启动mysqld服务,并设为开机自动启动。命令:
systemctl start mysqld.service //这是centos7的命令
systemctl enable mysqld.service
五、修改初始密码
1.编辑MyQL配置文件添加以下内容
[root@localhost etc]# vim /etc/my.cnf
添加以下内容
default-authentication-plugin=mysql_native_password #配置文件本来就有去掉注释即可
symbolic-links=0
skip-grant-tables
保存后退出。
2. 重启MySQL服务
systemctl restart mysqld
3.无密码登录MySQL
mysql -u root -p
4. 进入Mysql操作界面后,执行如下
(1)将原密码设置为空
update user set authentication_string=‘’ where user=‘root’;
(2) 将root密码设置Haha@123,注意Mysql8密码设置规则必须是大小写字母+特殊符号+数字的类型
alter user ‘root’@‘localhost’ identified by ‘Haha@123’;
(3)将host更改% 方便远程接入
update user set host =‘%’ where user=‘root’;
(4)使用已经设置的密码来更改加密方式
ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘Haha@123’ PASSWORD EXPIRE NEVER;
(5)使用新的加密方式重新设置密码
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘Haha@567’;
刷新
flush privileges;
重启MySQL服务
systemctl restart mysqld