我在CentOS上安装过无数次的MySQL,但有的时候很顺利,有的时候却大费周章。为了给需要的小伙伴们有用的帮助,我把这些经验分享出来,为你节省大量的调研时间。
一、安装文件
为了方便大家的下载,我将MySQL的CentOS安装文件上传到了百度云,地址为:http://pan.baidu.com/s/1eQrvAuu
Client:MySQL-client-5.7.4_m14-1.el6.x86_64.rpm
Server:MySQL-server-5.7.4_m14-1.el6.x86_64.rpm
二、安装
①、上传文件
如果你的环境中安装了使用rz/sz环境,可以使用该命令直接上传。但速度可能会比较慢,建议你使用Filezila工具上传,上传完毕后,见文件如下:
②、清理MySQL
这一步非常关键!必须保证在安装之前,CentOS没有安装过MySQL,否则会导致安装失败。
我在《CentOS上如何顺利地升级MySQL到5.7版本?》 (http://blog.csdn.net/qing_gee/article/details/41774265),这篇文章中有详细介绍,可参照。
③、安装MySQL-server
使用rpm -ivh MySQL-server-5.7.4_m14-1.el6.x86_64.rpm先安装Server,信息如下。
[root@iZ23gsv94suZ soft]# rpm -ivh MySQL-server-5.7.4_m14-1.el6.x86_64.rpm Preparing... ########################################### [100%] find: `/var/lib/mysql': No such file or directory 1:MySQL-server ########################################### [100%] A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER ! You will find that password in '/root/.mysql_secret'. You must change that password on your first connect, no other statement but 'SET PASSWORD' will be accepted. See the manual for the semantics of the 'password expired' flag. Please report any problems at http://bugs.mysql.com/ The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com
tips:
注意/root/.mysql_secret这个文件(保存了MySQL初始化安装时候的初始密码)。
注意no other statement but 'SET PASSWORD' will be accepted这句话(后面要用)。
④、安装MySQL-client
使用rpm -ivh MySQL-client-5.7.4_m14-1.el6.x86_64.rpm再安装Client。
⑤、启动MySQL服务
使用service mysql start启动MySQL服务。
[root@iZ23gsv94suZ mysql]# service mysql start
Starting MySQL. SUCCESS!
⑥、登陆MySQL客户端
使用mysql -uroot -p登陆MySQL客户端,密码在哪里呢?密码在/root/.mysql_secret这个文件中。
[root@iZ23gsv94suZ mysql]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
⑦、修改默认密码
默认密码不好记,最好修改为我们记住的(但要保证复杂度)。
mysql> use mysql
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
此时出现了ERROR 1820 (HY000)错误,需要先执行set password=password("root")(有没有想起来之前tips中的第二个注意点?)。
mysql> set password=password("root");
Query OK, 0 rows affected (0.00 sec)
⑧、修改密码
终于到了修改密码的时候了。
use mysql
update user set password=PASSWORD("lixiaoli") where user="root";
flush privileges;
密码为什么是“lixiaoli”,因为我喜欢李孝利。你听过她的歌,看过她跳的MV吗?(李孝利经典歌曲10Minutes,当年天后地位无人能撼动,视频地址:https://www.iqiyi.com/w_19rtp6vr59.html)
⑨、开启防火墙
为了保证安全性,我们需要开启防火墙。但请记得释放MySQL的3306端口。
1、关闭防火墙
service iptables stop
2、编辑配置
vim /etc/sysconfig/iptables
3、打开配置文件后,增加如下内容
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
4、保存配置文件后启动
service iptables save
service iptables start
⑩、开启远程访问权限
登陆MySQL客户端后,使用以下命令开启远程访问权限(这样就可以在指定IP通过Navicat上对MySQL上的数据进行增删改查)。
mysql> grant all privileges on *.* to root@'192.168.44.11' identified by "lixiaoli";
mysql> flush privileges;
简单解释一下这条命令。
“grant all privileges”:开启所有权限,包括增删改查了!
“.”:当有数据库的数据表。
“root”:user名了!
“‘192.168.44.11’”自然就是对那一台机器开启远程权限了。
“‘lixiaoli’”:自然是对应的密码了