centos7 安装mysql8 亲测有效
1、清理历史安装的mysql【初次安装可以跳过】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 查看mysql安装了哪些东西 rpm -qa |grep -i mysql 开始卸载 yum remove [上述命令查看到的包] 查看是否卸载完成 rpm -qa |grep -i mysql 查找mysql相关目录 find / -name mysql 删除相关目录 rm -rf [上述命令查看到的目录] 删除/etc/my.cnf rm -rf /etc/my.cnf 删除/ var /log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,导致无法登陆) rm -rf / var /log/mysqld.log |
2、安装
1 2 3 4 5 6 7 8 9 10 11 12 | 1)在 root 目录下,安装 mysql 和 mysql-devel yum install mysql yum install mysql-devel 2)安装 mysql-server wget http: //dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm rpm -ivh mysql80-community-release-el7-5.noarch.rpm yum install mysql-community-server 3)安装成功后重启mysql服务 service mysqld restart 4)进入 /etc/my.cnf 配置编码规则(无需配置的话,可跳过本步骤) <br>注: 这里的字符编码必须和 /usr/share/mysql/charsets/Index.xml 中一致 [mysql] default -character- set =utf8 配置远程连接授权设置(配置后即可用navicat建立连接),至此完成安装!<br><br>注:<br># 如果要授权的用户是新用户,而不是root账户,则要先新建用户;<br>如果要授权的是root用户,则跳过此命令 CREATE USER '这里填你要新建的账户' @localhost IDENTIFIED BY '这里填要新建账户的密码' ; <br># 授权,以root账户为例 <br>GRANT ALL PRIVILEGES ON *.* TO 'root' @localhost WITH GRANT OPTION; FLUSH PRIVILEGES; <br><br>使用 navicat 连接时报错 <br>报错:1045 - Access denied for user ‘root’@‘xxx’( using password: YES),解决方式见上述步骤6 <br>报错:1130 - Host ‘xxx’ is not allowed to connect to this MySQL server,解决方式见下第4点_过程遇到的问题 |
3、改密码
1 2 | 设置密码 # 登录mysql并输入密码【mysql8初次安装后,需要先通过cat /var/log/mysqld.log | grep password 命令查看密码】——我安装的时候,这个文件是空的,所以我用了另一种方法【使用问题一中,跳过验证登陆mysql,然后修改root密码,无法修改密码的问题也在问题2、3中解决】 mysql -u root -p |
1 | # mysql8 修改密码方式 <br>alter user 'root'@'localhost' identified by '这里填你要的密码'; |
修改密码后,退出mysql,注释掉 /etc/my.cnf 中的 “skip-grant-tables” ,然后重启mysql服务
问题:
1、无法登陆mysql【不知道密码】
1)在 /etc/my.cnf 中,在【mysqld】 下面添加
skip-grant-tables
2)无法修改密码
1 2 3 4 5 6 7 8 9 10 11 12 | 5.6 版本: ① update mysql.user set password=password( '123456' ) where User= "root" and Host = "localhost" ; ② set password for root@localhost = password( '123456' ); 5.7 以上版本,password 字段被设置为了authentication_string,因此更新命令为: update mysql.user set authentication_string=password( '123456' ) where User= "root" and Host= "localhost" ; 8.0 以上的版本,以上的命令都不支持,有以下两个命令可用(MySQL的安装与配置——详细教程(转载)里面修改密码用的就是这个最新的命令): ① alter user 'root' @ 'localhost' identified by '123456' ; ② set password for root@localhost = '123456' ; |
2、无法修改密码
这是由于没刷新权限造成的,解决方法:登陆mysql后,输入:
flush privileges;
3、密码修改报错
该问题是由于密码强度不够造成的,使用字母大写+小写+数字+符号等,尽量复杂
参考:
https://blog.csdn.net/weixin_45242865/article/details/118227786
https://blog.csdn.net/qq_43305175/article/details/126841890
https://blog.csdn.net/qq_43305175/article/details/126841890
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步