ContOs安装MySQL
本文博主已踩雷,踩雷经验已分享,在避免兄弟们踩雷
- 下载MySQL安装包,如果官网不会下网盘链接如下
链接:https://pan.baidu.com/s/1ZM9jhCFdcKzG3GF1YwBA4Q
提取码:tist - 用一个可视化SSH链接工具,我这里使用的是
MobaXterm
,下载链接如下
链接:https://pan.baidu.com/s/1rB9CM4w_O05YWiMjqDUlrA
提取码:38wb
安装包以及链接到Linux就不多做演示了,要不有点跑题了 - 首先检查本机Linux是否安装MySQL的冲突文件,命令如下
rpm –qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm –qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件
如果当前系统中已经安装有MySQL数据库,安装将失败。CentOS7自带mariadb,与MySQL数据库冲突
- 卸载已经安装的冲突软件
rpm -e --nodeps 软件名称 卸载软件(可能名字不同,复制你自己的即可)
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
- 将刚刚下载的MySQL安装包上传到Linux,把文件往
MobaXterm
软件左边文件栏一拉,就会自动上传 - 解压 MySQL压缩包 指令如下
mkdir /usr/local/mysql 在目录创建一个 文件夹用来存储 MySQL的文件
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql
这个目录你通过cd自己调整,你刚才把MySQL压缩包上传到那个目录你就跳转到那个目录,然后执行当前指令即可,我直接把它上上传到根目录了 即cd /
, 后面的路径代表要解压的目标路径
解压后得到6个rpm的安装包文件
- 按照顺序安装rpm软件包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
如果安装过程中出现缺失依赖,则执行yum install net-tools
指令 下载即可,也可以通过指令升级现有软件及系统内核 指令为:yum update
- 以上已经安装完成 开始启动MySQL
systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl enable mysqld 开机启动mysql服务
netstat -tunlp 查看已经启动的服务 (查看操作可看可不看)
ps –ef | grep mysql 查看mysql进程 (查看操作可看可不看)
- 登录MySQL数据库,查阅临时密码
cat /var/log/mysqld.log 查看文件内容
cat /var/log/mysqld.log | grep password 查看文件内容中包含password的行信息
冒号后面的是密码,注意空格
- 登录MySQL,修改密码,开放访问权限
mysql -uroot –p 登录mysql(使用临时密码登录)
#修改密码
set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成root
密码又臭又长,这里有一个小bug,就是5.7和8.0不一样的地方咱们接着往下操作
exit
退出MySQL
修改MySQL的登录设置:
vim /etc/my.cnf
在[mysqld]的段中加上一句:
skip-grant-tables
如果不会用vim编译器,我这里多一句嘴,执行完vim /etc/my.cnf 就会出现文本,然后摁一下26个英文字母中的i
进入编译模式,把skip-grant-tables 这一段话加上,摁键盘的esc
键退出编译模式,这个时候可以输入,直接输入:wq
冒号wq代表保存退出,如果出现修改什么错误,可以使用:!q
冒号感叹号q,代表不保存退出
重新启动mysql
service mysql restart
登录: mysql -uroot -p你的临时密码
mysql> use mysql;
Database changed
mysql> update user set password = password ('new-password') where user = 'root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 5 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
执行 update user set password = password ('new-password') where user = 'root';
的时候有人可能报错Unknown column 'password' in 'field list'
原因是因为MySQL5.7版本没有password这个字段了,password字段改成了authentication_string,所以会出现 Unknown column ‘password’ in 'field list’这个错误提示
解决方案:
update mysql.user set authentication_string=password('****') where user='root',
然后输入flush privileges;让它立即执行
还需要把登陆设置修改回来
vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables注释,保存退出
service mysql restart 重启MySQL 问题解决扫描二维码关注公众号,回复: 15420632 查看本文章