今天首次在CENTOS7下面安装MYSQL-5.7.18(截止今天这是最新版本),
第一步,官网下载rpm包,网址:https://dev.mysql.com/downloads/mysql/
第二步,下载后 tar -xvf 下载的文件 -C 解压的目录
第三步 ,rpm -e mariadb-libs --nodeps 先删除这个,否则不能安装mysql;
第四步,可以开始rpm -ivh mysql-community-server-5... mysql-community-client-... mysql-community-libs... mysql-community-common... 了
会提示依赖关系的,这4个rpm包一起安装
~~~~~~~~~~~~~~~~~~~~~~
安装完成后,service mysqld start 启动mysql
准备设置root 密码 mysqladmin -u root password '123456',收到如下错误提示:
mysqladmin:connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
有些纳闷了,后来发现官网给了个Installation Instructions
进去一看,明白了为什么错误,链接如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html
进入这个链接后,下面有一段话:
意思大概是:rpm安装完成后,已经默认创建了超级用户root 并设置了一个密码,放在了/var/log/mysqld.log里面,
使用grep 'temporary password' /var/log/mysqld.log 可以找到该密码。
然后使用 mysql -uroot -p 连接,密码输入上面的找到的密码
最后使用
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
修改密码,至此安装完成。
针对忘记密码的情况,也可以采取这个办法:先关闭mysqld进程,使用
mysqld --skip-grant-tables --user=mysql &该版本下好像没找到mysqld_safe,其次最好是加上& ,使其后台运行
启动,然后mysql -uroot -p 不用输密码直接回车,进去后不能使用alter user,因为现在是skip模式。。。而是使用update mysql.user set authentication_string=PASSWORD('123456') where user='root' and host='localhost';修改密码。(这个版本下user表中没有password字段了,好像是authentication_string,测试修改密码成功)。修改密码成功后,能够以正常模式启动了 service mysqld start并以新密码 mysql -uroot -p~~~