下载社区版
https://downloads.mysql.com/archives/community/
或者直接进入linux相应目录用wget下载
wget weget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar
解压
tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar
检查是否已经安装过mysql
rpm -qa | grep mysql
如果已存在,则执行删除命令 后边为Mysql目录
rpm -e --nodeps mysql-xxxx
发现mariadb文件冲突,删除
rpm -e mariadb-libs-1:5.5.68-1.el7.x86_64 --nodeps
安装5.7.35版本,需要如下四个安装包,按顺序安装,不然会提示报错
rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm
相关文章 https://www.cnblogs.com/zhoading/p/11538329.html
rpm 命令说明
i -> 安装
v -> 啰嗦模式
h -> 进度条
e -> 卸载
q -> 查询
a -> 所有
l -> 显示rpm中的文件
tar 命令说明
https://www.cnblogs.com/h2zZhou/p/10425590.html
启动
service mysqld start
systemctl start mysqld.service
停止
service mysqld stop
systemctl stop mysqld.service
mysqladmin shutdown
查看状态
service mysqld status
systemctl status mysqld.service
查看临时密码,特殊符号可以用’'包起来
grep "password" /var/log/mysqld.log
或者打开文件查看
使用临时密码登录,然后修改root的密码
mysql -uroot -p’v,esvf2?oj?T’
设置新密码
set password for root@localhost = password('root123');
两次修改都提示相同的错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
下面是官方文档,对于该问题的解释:
https://dev.mysql.com/doc/refman/5.7/en/validate-password.html
上述报错的原因:其实与validate_password_policy的值有关。
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
grant all privileges on . to ‘root’@‘%’ identified by ‘’;
Starting MySQL… ERROR! The server quit without updating PID file (/var/lib/mysql/VM-0-4-centos.pid).
如下图是3306端口占用
先关闭占用端口的程序,如docker中的mysql,再启动mysql,可以看到在/usr生成my.cnf文件
估计也就是服务名错误了,于是使用 chkconfig --list 查询服务列表
可以看到服务名称为"mysql",使用 service mysql restart 重启mysql服务成功
进入mysql
mysql -u root
如果提示-bash: mysql: command not found,原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,
查看文件路径
whereis mysql
得到
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql
得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/bin/mysql,我们则可以这样执行,映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
ln -s /usr/bin/mysql /usr/bin
ln -s /usr/bin/mysql mysql
其他
检查mysql 进程是否存在
ps -ef|grep mysql
ps -ef|grep详解 https://www.cnblogs.com/freinds/p/8074651.html
如下
root 1282 1 0 11:32 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/VM-0-4-centos.pid
mysql 1503 1282 0 11:32 ? 00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/VM-0-4-centos.err --pid-file=/var/lib/mysql/VM-0-4-centos.pid
root 11100 1952 0 12:38 pts/0 00:00:00 grep --color=auto mysql
var/lib/mysql 是指:mysql数据库文件的存放路径
usr/lib/mysql 是指:mysql的安装路径
官网地址 https://www.mysql.com/downloads/
如上图,选择社区版
点击下图
点击下图Archives
5.7版本最稳定。
8.0版本最新
选择 mysql-installer-community-5.7.34.0.msi
先进入 mysql -uroot -proot
再设置密码
set password for root@localhost = password('新密码');