彻底卸载mysql
1、查看是否有安装的mysql
rpm -qa | grep -i mysql // 查看命令1
yum list install mysql* // 查看命令2
2、 卸载mysql安装包
yum remove mysql mysql-server mysql-libs compat-mysql51
yum remove mysql-community-release
总之删到通过上面两种命令查不出来任何有关mysql的东西。
3、删除残留的mysql目录或文件:
查询mysql安装目录
whereis mysql
find / -name mysql
删除查询出的目录,我的这个是在没有删除安装包的情况下截的图,所以可能比较多。
rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
总之删到通过上面两种命令查不出来任何有关mysql的东西。
继续删除(注意:以下删除未配置时可不删除)
删除mysql 配置文件
rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret
删除mysql开机自启动服务
chkconfig --list | grep -i mysql
chkconfig --del mysqld // 服务名为你设置时候自己设置的名字
至此就卸载干净了
====================================================================================================
安装mysql
- 下载并安装mysql的YUM源:
1、选择一个目录下载并安装,此处为自建目录,默认安装为usr/bin中
mkdir soft
cd soft
2、下载mysql yum源,可登录https://dev.mysql.com/downloads/repo/yum/下载所需
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm // 下载mysql yum源
mysql57-community-release-el7-11.noarch.rpm可根据需要改为自己所需要的,如在此报错更改rpm
3、安装yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm // 安装yum源
4、正式安装mysql
yum install mysql-community-server
5、启动mysql
systemctl start mysqld
6、修改root登录密码
1)获取root默认密码(由于Mysql安全策略升级,安装完成后系统自动设置了一个随机密码)
grep 'temporary password' /var/log/mysqld.log
[root@localhost yum.repos.d]# grep 'temporary password'
/var/log/mysqld.log2019-07-26T10:57:20.546877Z 1 [Note] A temporary password is generated for root@localhost: :fqJ9?C!hhUu
此处localhost:fqJ9?C!hhUu为随机密码,记录随后登录使用
2)登录Mysql:键入:
mysql -u root -p
[root@localhost yum.repos.d]# mysql -u root -pEnter
password:
输入密码即可登录
3)修改密码
初始随机密码输入正确情况下:
3.1)由于Mysql默认要求设置密码复杂度高(必须包含 大小写字母、数字、符号)
mysql> alter user 'root'@'localhost' identified by '123456';ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这样设置是合法的:
mysql> alter user 'root'@'localhost' identified by 'Mysql666!';
Query OK, 0 rows affected (0.00 sec)
mysql>
3.2)重启Mysql服务生效
systemctl restart mysqld
7、配置远程用户登录
grant all privileges on 数据库名.表名 to 用户名(root)@"%" identified by "密码";
# 数据库名.表名 如果写成*.*代表授权所有的数据库
#如:
grant all privileges on *.* to root@"%" identified by "123456789";
@ 后面是访问mysql的客户端IP地址(或是 主机名)
% 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。
注意:执行后刷新权限
flush privileges;
root代表连接数据库的用户名
123456789:为连接数据库的密码
已navicate为例
同时也可以为现有的用户设置是否具有远程访问权限。
远程访问权限分为两种
1)指定Ip
mysql> grant all privileges on *.* to 'root'@'192.168.1.1' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
2)root用户允许所有ip访问所有表
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
8、设置开机启动
[root@localhost /]# systemctl enable mysqld
[root@localhost /]# systemctl daemon-reload
9、其他
1)已配置远程访问权限,依然不能登录?请检查系统是否开启了防火墙。
1.1)CentOS关闭防火墙 或者 开放3306端口
开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
关闭防火墙
systemctl stop firewalld.service
1.2)禁止防火墙开机启动
systemctl disable firewalld.service