最近因为需要使用mysql,然后根据老男孩的《跟老男孩学linux运维 --web 集群实践》学习mysql的环境搭建一些问题,在初步学习的时候,建议大家一步一步完全按照内容写的进行安装(毕竟初始的时候有可能你并不知道写的什么意思),结果出现一个问题害我纠结了半天——初始登录mysql的时候突然发现非要我输入密码,可是为没有设置密码啊,然后把用到的所有密码都输入一遍(毕竟这台服务器没干过啥事,各种登陆密码都一样)结果发现还是登陆不了。最后在网上各种百度,最终发现:原来在mysql5.5(还是5.7)以后,默认密码不再是空了,而是会有一个随机生成的初始密码。该密码在如下路径/var/log/mysqld.log(记住不要使用/root/.mysql_secret,没用)。通过grep password -n /var/log/mysqld.log找到类似如下的内容:9:2017-05-18T06:40:17.259575Z 1 [Note] A temporary password is generated for root@localhost: lu=uN2rGegBC 这个时候使用这个登陆就OK了,然后设置自己的密码。
修改密码:先修改一下密码的规则。默认有三个等级0、1、2. 等级0只卡长度,1会卡长度以及字符情况。所以为了密码不设置那么复杂,修改密码规则为0.(默认是1)。
set global validate_password_policy=0;
设置密码:set password=password('redhat123');
这样就可以登陆进去了。show databases可以查看是否成功。这个时候密码要记住哦
如何通过ip+端口号的形式远程登陆mysql数据库?
首先在shell终端登录数据库,然后执行如下语句GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;之后需要flush privileges生效。这个时候就可以直接用IP+端口号的形式登陆了。