Linux安装删除MySQL
1、yum仓库中没有MySQL的源,先下载源
1.下载mysql源
//5.6地址
shell> wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
最新版可以官网下载https://dev.mysql.com/downloads/repo/yum/
2.安装下载的rpm包
shell> sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
3.检查mysql源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*"
安装成功如下
2、安装MySQL
使用mysql yum仓库时,默认情况下选择的最新版本进行安装,也可以通过手动编辑文件来选择一个版本安装。例如,要安装mysql5.6版本,则再mysql56-community设置enabled=1,mysql57-community设置enabled=0。
vim /etc/yum.repos.d/mysql-community.repo
安装:
shell> yum install mysql-community-server
3、启动MySQL服务
shell> systemctl start mysqld
4、查看MySQL服务状态
shell> systemctl status mysqld
5、设为开机启动
shell> systemctl enable mysqld
shell> systemctl daemon-reload
6、重置本地密码
shell> mysql -u root
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
shell> sudo chown -R root:root /var/lib/mysql
重启MySQL服务systemctl restart mysqld
继续重置密码
shell> mysql -u root //直接回车进入mysql控制台
mysql> set password for 'root'@'localhost'=password('Root123456'); //设置密码
mysql> exit //退出
shell> systemctl restart mysqld //重启服务
7、添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'yanglei'@'%' IDENTIFIED BY 'yanglei1994!' WITH GRANT OPTION;
8、删除
1、卸载
shell> yum remove mysql mysql-server mysql-libs compat-mysql51
shell> rm -rf /var/lib/mysql
2、检查是否还有其它mysql,如有yum remove + 【名字】删除
shell> rpm -qa|grep mysql
3、检查删除其它相关文件
检查
shell> find / -name mysql
删除
shell> rm -rf /usr/lib/mysql
9、重置密码
1、修改MySQL的登录设置:
shell> vim /etc/my.cnf
按 a 添加 skip-grant-tables
按esc 再按 :x 保存退出
2、重启mysql服务
shell> systemctl restart mysqld
3、修改root用户的密码
update mysql.user set authentication_string=password("PASSWORD") where user="root";
flush privileges;
4、将第一步添加的删掉重启服务
5、进入mysql mysql -u root
6、设置密码
//设置密码强度和长度
> set global validate_password_policy=0;
> set global validate_password_length=1;
// 更改密码
> alter user 'root'@'localhost' identified by 'PASSWORD';
7、若设置root用户可以远程访问,还需执行:
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
> flush privileges;