Linux下MySQL的安装
下载
下载rpm包,可以选择去官网下载,或者选择镜像
MySQL官网下载地址
MySQL搜狐镜像下载地址
安装
检查是否安装过,或其他衍生版本,例如mariadb ,一般centos 7 默认安装. centos6默认安装mysql
[root@hadoop102 ~]$ rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64 //如果存在通过如下命令卸载
[root@hadoop102 ~]$ rpm -e --nodeps mariadb-libs //用此命令卸载mariadb
将MySQL安装包拷贝到/opt/software目录下
[root@hadoop102 software]# ll
总用量 528384
-rw-r--r--. 1 root root 609556480 3月 21 15:41 mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
解压
[root@hadoop102 software]# tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
利用rpm安装
[root@hadoop102 software]$ rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
[root@hadoop102 software]$ rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
[root@hadoop102 software]$rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
[root@hadoop102 software]$ rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
[root@hadoop102 software]$ rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
需要注意执行顺序!!因为它们之间有依赖关系
删除/etc/my.cnf文件中datadir指向的目录下的所有内容
查看datadir的值:
[root@hadoop102 software] cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
删除/var/lib/mysql目录下的所有内容:
[root@hadoop102 mysql]# pwd
/var/lib/mysql
[root@hadoop102 mysql]# rm -rf * //注意执行命令的位置
初始化数据库
[root@hadoop102 opt]$ mysqld --initialize --user=mysql
查看临时生成的root用户的密码
[root@hadoop102 opt]$ cat /var/log/mysqld.log
启动MySQL服务
[root@hadoop102 opt]$ service mysqld start
登录MySQL数据库
[root@hadoop102 opt]$ mysql -uroot -p
Enter password: 输入临时生成的密码
登录成功.
必须先修改root用户的密码,否则会报错
mysql> set password = password("新密码")
Navicat连接MySQL服务
执行 select user ,host from mysql.user where user = 'root';
当root用户对应host值为localhost,意味着只允许本机连接.
需要修改host的值为 % , 表示所有ip均可连接
update user set host='%' where user = 'root';
flush privileges;
然后测试即可,若任连接不上,可能是centos防火墙的原因.关闭即可
systemctl stop firewalld