1、卸载掉原有mysql
rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!
2、通过yum来进行mysql的安装
我是通过yum的方式来进行mysql的数据库安装,首先我们可以输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本:
yum list | grep mysql
然后我们可以通过输入 yum install -y mysql-server mysql mysql-devel 命令将mysql mysql-server mysql-devel都安装好(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)
yum install -y mysql-server mysql mysql-deve
安装server的时候会提示No package mysql-server available.这时我们需要使用wget的方式下载:
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-server
3、mysql数据库的初始化及相关配置
启动mysql服务:service mysqld start mysql服务器首先会进行初始化的配置
重启:service mysqld restart
4、接着检查mysql 的运行状态
service mysqld status
5、修改临时密码
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。
只有启动过一次mysql才可以查看临时密码
查看密码:grep 'temporary password' /var/log/mysqld.log(如果之前安装过MySQL则这里可能会有多个密码,用最后一个,注意这个密码输入时是可以粘贴的)
登录:mysql -u root -p
用该密码登录到服务端后,必须马上修改密码再执行一些数据库操作,不然会报如下错误:
mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
修改密码(注意,登录后的操作后面都最好要有;结尾)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
如果密码设置太简单出现以下的提示
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
必须修改两个全局参数:
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
再修改密码的长度
set global validate_password_length=1;
再次执行修改密码就可以了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';(ALTER等可以写成小写)
8、主配置文件:
/etc/my.cnf 这是mysql的主配置文件
/var/lib/mysql mysql数据库的数据库文件存放位置
/var/log mysql数据库的日志输出存放位置
9、通过Navicat连接数据库:
连接过程会出现如下错误:提示:1045 access denied for user 'root'@'localhost' using password yes
解决方案:
方法一:
#service mysqld stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# service mysqld restart
# mysql -u root -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -u debian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -u root -p
Enter password: <输入新设的密码newpassword>
mysql>
执行完后刷新权限就可直接登录:
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
FLUSH PRIVILEGES;
连接过程会出现如下错误:提示:can't connect to mysql server on 'localhost'(10038)
解决方案:
1、进入阿里云官网设置安全组:端口为3306对外开放https://help.aliyun.com/document_detail/25471.html?spm=a2c4g.11186623.6.714.GVWe36
2、暂停防火墙:service iptables stop
3、开启端口:iptables -A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW ESTABLISHED -j ACCEPT
4、保存配置:service iptables save
5、重启防火墙:service iptables restart
6、查看规则链:iptables -L -n
〖特别声明〗:本文内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。如有侵犯您的原创版权或者图片、等版权权利请告知 wzz#tom.com,我们将尽快删除相关内容。