记录一次在linux环境上安装mysql的问题,原先使用tar.gz包解压进行配置,遇到错误网上搜了一圈无果,后来换rpm的方式安装。
一、安装
1、更新yum本地缓存
yum clean cache
yum makecache
2、查看系统中是否已安装mysql
yum list installed | grep mysql
3、卸载系统自带的mysql及其依赖(防止冲突)
yum -y remove mysql-libs.x86_64
4、下载wget命令
yum install wget -y
5、给centos添加rpm源,并且选择比较新的源
wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
安装成功后,会在/etc/yum.repo.d/下面新增两个文件
7、修改mysql-community.repo文件
vi mysql-community.repo
上面的每一点都必须改,不然安装的时候会报各种奇怪的错
8、使用yum安装mysql
yum install mysql-community-server -y
9、查看下mysql的版本,确定是否安装成功
mysql -V
10、启动mysql服务
service mysqld start
11、设置mysql开机启动
chkconfig mysqld on
12、从mysqld.log文件中,查看mysql临时密码
grep "password" /var/log/mysqld.log
启动服务后,会将临时密码放在mysqld.log文件中,需要复制出来
13、复制上面的临时密码,登录mysql
mysql -uroot -p临时密码
注意事项:
a、如果临时密码中有字符 ),需要转义改为 ),不然会提示字符异常
b、-u 和-p后面不要有空格,不然会提示密码错误
14、修改密码验证策略(不更改,可能修改的密码通不过),然后更改root用户密码
set global validate_password_policy=0;
set global validate_password_length=4;
alter user 'root'@'localhost' identified by 'root';
修改密码成功后,输入quit退出,然后使用新密码重新登录。
15、设置数据库用户在所有ip下都可以访问,以下用root用户示例:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
其中root为用户,%表示所有权限,密码为123456
16、刷新mysql的系统权限相关表
flush privileges;
重启下mysql服务:systemctl restart mysqld
注意:如果远程连接不了mysql,切记看防火墙是否开放3306端口
二、开启防火墙
linux防火墙默认是没有开通3306端口的,需要手动开通,这样本地客户端才能连接上linux上的mysql服务。
1、查询3306端口是否开启:
firewall-cmd --query-port=3306/tcp
yes,表示开启;no表示未开启
2、在防火墙上,添加需要开放的3306端口:
firewall-cmd --add-port=3306/tcp --permanent
3、重载入添加的端口:
firewall-cmd --reload
4、再次查询3306端口是否开启,发现已开启
5、本地navicat连接
三、卸载linux上的mysql
之前在安装过程中,老是失败。如果想重新安装,则需要将mysql相关的全部删除掉。
1、检查安装的mysql组件
rpm -qa | grep -i mysql
2、将查询出来的文件逐个删除,如
yum remove mysql-community-common-5.7.32-1.el7.x86_64
yum remove mysql-community-release-el6-5.noarch
3、删除mysql相关文件
yum remove mysql mysql-server mysql-libs mysql-server
rm -rf /var/lib/mysq
rm /etc/my.cnf
rm –rf /usr/lib64/mysql
rm -rf /etc/yum.repos.d/mysql*
rm -rf mysql-community-release-el6-5.noarch.rpm
4、查找残留目录,然后使用rm命令逐一删除
whereis mysql