1.安装前检查mysql是安装了其他包
# rpm -qa | grep mysql
# rpm -qa | grep Mysql
# rpm -qa | grep maridb
如果存在先卸载
# rpm -e --nodeps XXX
2.官网下载mysql社区版
https://dev.mysql.com/downloads/mysql/ 选择对应系统版本的完整包
解压压缩包
将上面4个rpm文件上传到Linux服务器(可以选用SSH远程等工具)
3.安装
进入Linux终端依次安装(存在依赖关系)
Centos7 可能还需要安装libaio (# yum install libaio)
1.# rpm -ivh mysql-community-common-5.7.21-1.el6.x86_64.rpm
2.#rpm -ivhmysql-community-libs-5.7.21-1.el6.x86_64.rpm
3.#rpm -ivhmysql-community-client-5.7.21-1.el6.x86_64.rpm
4.#rpm -ivhmysql-community-server-5.7.21-1.el6.x86_64.rpm
4.重置mysql密码
先登录
# mysql -u root
登录时有可能报错:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
因为 /var/lib/mysql/ 权限问题
执行 # chmod 777 -R /var/lib/mysql/ 后重启
# service mysqld restart 后 再次登录显示
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
这是因为mysql安装时会产生一个临时的密码 我们获取这个密码
# grep 'temporary password' /var/log/mysqld.log
这里密码就是 (Pgj/zD%F6Q6 ps:如果有多个选择最后一个
# mysql -u root -p 登录后输入密码 (Pgj/zD%F6Q6
改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
这里会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
密码设置太简单 如果需要设置简单密码 比如123456 设置如下
mysql>set global validate_password_policy=0; 保护级别:密码长度为基准
mysql> set global validate_password_length=1; 最小长度:1
5.重启mysql
# service mysqld restart
6.用修改后的密码登录就好
7.忘记密码修改
1.# vim /etc/my.cnf 在文件最后一行加入 skip-grant-tables
2.# /etc/init.d/mysqld restart 重启数据库
3.# mysql -u root 进入mysql 此时不需要密码
4.mysql->use mysql
5.mysql->update user set authentication_string=PASSWORD('1234') where User='root';
6.mysql->flush privileges;
7.mysql->exit
8.# vim /etc/my.cnf 删除skip-grant-tables