centos rpm 安装mysql5.7

来源:互联网 发布:矩阵满足分配律吗 编辑:程序博客网 时间:2024/05/07 14:11



我这里只列出几个 可能 不常见的错误,方便以后提示自己,也方便别人。



1、首先我已经成功安装mysql5.7,在/etc/init.d下有mysqld

2、接下来是启动mysql服务, service mysqld restart -> ok

3、用root登陆,因为我对linux还不是非常熟悉,或许有人跟我一样在想,这个mysql账户怎么来??

那不管怎么样,我先用root登陆,mysql -uroot -p <回车

输入密码 <回车

接下来肯定是个错误啦,我的是:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor

4、那么就去百度,我参考以下操作:

方法一: 
# /etc/init.d/mysql stop 
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
# mysql -u root mysql 
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 
mysql> FLUSH PRIVILEGES; 
mysql> quit 
# /etc/init.d/mysql restart 
# mysql -uroot -p 

5、在我执行到UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 就开始出问题了,问题是:

ERROR 1054 (42S22): Unknown column 'password' in 'field list'.

6、用ERROR 1054 (42S22): Unknown column 'password' in 'field list'.去百度,但是好像没啥结果,去google,得到的答案:

http://stackoverflow.com/questions/30692812/mysql-user-db-does-not-have-password-columns-installing-mysql-on-osx

简单的讲就是说在mysql.user表里没有字段password,我也查看了下这个表,的确没有,那么按照连接教程

的做法是:

update user set authentication_string=password('123456') where user='root';
我照做了,那么接下来引发新的问题:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

7、如之奈何,百度之~, 然后找了很久的方法又得到一个新的问题:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

8、这就是大概的过程,那么不在墨迹了,最后的解决办法是:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS '*0D3CED9BEC10A777AEC23CCC353A8C08A633045E';

具体的操作就是:

a、因为上面已经把root的密码设置为了123456,所以先登录mysql

b、在mysql里执行 use mysql;  会提示上面的错误,,,ok

c、执行上面的alter语句,

d、成功

e、ok,现在不有再有上面的错误提示了,你可以正常操作mysql了。但是新的问题来了,:

'*0D3CED9BEC10A777AEC23CCC353A8C08A633045E' 是什么鬼??? 这里的这个密码明文是:abc

,但是怎么修改,我现在还不知道,我先把解决方案放上来~~!



--------

接下来是validate_password的安装和卸载!!!

因为mysql默认自动启用validate_password的问题,导致我浪费 了不少时间,我要是个富二代,指不定把电脑都砸了!!!

现在说说validate_password 的卸载和安装。

安装:INSTALL PLUGIN validate_password SONAME 'validate_password.so';
卸载:UNINSTALL PLUGIN validate_password ;

在my.conf文件中,如果写上下面几句并且去掉注释,那么UNINSTALL PLUGIN validate_password;就执行失败,导致无法卸载。

下面几句是启用validate_password 并且保护validate_password 防止卸载的。

# plugin-load=validate_password.so
# validate-password=FORCE_PLUS_PERMANENT
# validate_password_policy=2


现在执行:

mysql> SET PASSWORD FOR root=PASSWORD('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

可以是可以了,但是感觉没有用,密码还是abc,没法改变。


下面用:

[root@oiooooio etc]# mysqladmin -u root -p password 

命令来修改密码,就可以了,~~~

至此终于tmd结束了

0 0
原创粉丝点击