前言
我个人是比较喜欢Debian,但是由于公司都是用的CentOS的,没办法只能熟悉下CentOS了。今天安装个MySQL数据库,居然踩了好几个坑。在此记录一下。
安装
环境标题就是,不多说。直接安装,可以使用官方的rpm包离线安装,也可以通过yum来进行在线安装,这里我先使用的是yum的在线安装。 官方安装指引(包含仓库源地址): 清华镜像源:
推荐使用清华镜像源,速度比较快。 配置一下仓库,然后就可以使用yum了。 $ sudo vim /etc/yum.repos.d/mysql.repo
mysql.repo
[mysql]
name=CentOS-$releasever - mysql
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/
enabled=1
gpgcheck=0
开始安装
$ sudo yum makecache
$ sudo yum install mysql-server
配置密码
这里比较坑的就是,安装完成后不直接提示给你初始密码,需要先启动mysqld服务,然后到日志文件中去找,我勒个去,不过更坑的还在后面。
启动服务
$ sudo systemctl start mysqld
$ sudo vim /var/log/mysqld.log
找到类似下面这行,最后面就是初始密码了
[Note] A temporary password is generated for root@localhost: fydT=x7!5Z6e
修改初始密码
通过mysql -uroot -p
输入初始密码进入mysql服务端,然后必须要先修改初始密码,才能使用。否则直接提示:
ERROR 1820 (HY000): You must reset your password using
ALTER USER statement before executing this statement.
要更新初始密码不说,还必须要用ALTER USER的方式进行更新,像以前常用的UPDATE形式都不行了。。 你是大哥,听你的,用就用呗。 新的更新密码命令可以使用下面这个。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH
mysql_native_password AS 'xxx新密码';
注意,这里有坑
localhost必须不变,不能使用本机ip,否则还是报上面错误:
ERROR 1820 (HY000): You must reset your password using
ALTER USER statement before executing this statement.
新密码必须要带有数字、大小写字符和特殊字符。这个是安全等级限制的。
最后别忘了刷新: mysql> flush privileges;
配置远程访问
友情提示,在初始化密码后,一定要授予远程访问权限,如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxx密码' WITH GRANT OPTION;
mysql> flush privileges;
有可能会遇到,即使修改了新密码,退出后还是无法登陆。提示这个错误: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
后序
最后如果安装过程中,出现密码初始化等问题导致无法登陆,请不要随意重新安装,最后可能会导致很多问题,而且即使重新安装了原先密码也还是在的,不会消失,启动时提示: [Warning] Found invalid password for user: 'root@localhost'; Ignoring user
除非彻底卸载,这又是很麻烦的事情。 这时候只需先停掉服务,然后删除掉/var/lib/mysql
目录: $ sudo rm -rf /var/lib/mysql
最后重启服务即可获取新的初始密码: [Note] A temporary password is generated for root@localhost: )(srRY?+O4Z;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2026.html