linux下安装mysql数据库

来源:互联网 发布:量化买盘指标源码 编辑:程序博客网 时间:2024/06/05 14:19

本来以为是很轻松的事情,没想到还是碰到了一些坑,现在记录下来,但愿能帮到后来人。

情景:阿里云 centos6.5,想安装最新的Mysql 5.7.16

安装时首先清除5.1版本的多余包(有些阿里云版本系统里有残留),命令如下:

yum -y remove mysql*; 

然后去mysql官网点击"community"下载安装包,我下载的是mysql-5.7.16-1.el6.x86_64.rpm-bundle,400多M,然后上传到centos上,或者用wget命令直接获取。

然后tar -vxf mysql-5.7.16-1.el6.x86_64.rpm-bundle, (切记,不要习惯性的tar -vxzf,不然会报错“gzip:stdin:not”,原因是该文件没有用gzip压缩,不能加z参数)

解压后有好几个,分别是mysql-community-server-XXXX.rpm、Mysql-community-client-XXX.rpm之类的,这里安装有个顺序,需要先装libs和commen这两个,然后依次安装client和server,安装命令是rpm -ivh mysql-community-libs-XXXX.rpm。

安装完使用service mysqld start启动mysql,这时会出来一个mysql_secure_installation

Enter current password for root (enter for none):
解释:输入当前 root 用户密码,默认为空,直接回车。
Set root password? [Y/n]  y
解释:要设置 root 密码吗?输入 y 表示愿意。
Remove anonymous users? [Y/n]  y
解释:要移除掉匿名用户吗?输入 y 表示愿意。
Disallow root login remotely? [Y/n]  y
解释:不想让 root 远程登陆吗?输入 y 表示愿意。
Remove test database and access to it? [Y/n]  y
解释:要去掉 test 数据库吗?输入 y 表示愿意。
Reload privilege tables now? [Y/n]  y
解释:想要重新加载权限吗?输入 y 表示愿意。

这时,因为赶着下班,就没理这个,直接强制退出了,这就导致遇到了坑。

第二天一早,使用mysql -u root -p,发现error 1045了,百度了下,解决方法如下:

1、停止Mysql:service mysqld stop

2、输入命令:# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

3、按control+c强制退出,#mysql -u root mysql

4、mysql> use mysql;结果如下:

Database changed;

5、mysql> update mysql.user set authentication_string=password('新密码') where user='root';

上文中新密码为你要设置的密码;

6、mysql> flush privileges;

7、mysql> quit;

8、重启mysql. #service mysqld restart;

现在可以使用mysql -u root -p输入密码后登录了。

这里又有个坑,因为当你输入show databases;时发现error_1820, 解决办法是重新设置下密码SET PASSWORD = PASSWORD('newpasswd');

其实这里还有个坑,必须设置非常复杂的密码,不然会出现error_1819,这时需要修改密码策略:

set global validate_password_policy=0;
set global validate_password_length=1;
这样分别通过修改策略限制和长度限制,就可以设置比较简短些的密码了。

0 0
原创粉丝点击