Ubuntu系统中安装卸载Mysql及密码找回
目录
2.2、修改mysql数据库中mysql.user数据表的host 7
1、安装mysql
安装mysql-server,同时安装mysql-client
命令:
sudo apt-get install -y mysql-server //安装mysql,由系统自动安装内置软件包的版本

等待完成安装

在安装过程中没有报错,就完成了安装
接着安装mysql-client
命令:
sudo apt-get install -y mysql-client //安装mysql客户端

安装完成
检查mysql服务器是否运行,一般在正确安装完成以后都会处于运行状态
命令:
sudo netstat -tap | grep mysql //查看 mysql的运行状态

这样mysql就安装完成了。
如果没有运行起来可以通过命令让他运行起来。
命令:
sudo /etc/init.d/mysql restart //重启mysql
2、设置mysql远程连接访问
mysql安装完成以后默认只能本地才能访问,所以需要修改配置,主要修改两处配置。
2.1、修改bind-address
使用命令查询mysql安装后各种文件的位置,一般会在/etc目录下
命令:
whereis mysql //查询mysql安装文件位置
![]()
查看目录/etc/mysql
命令:
ll /etc/mysql //查看目录/etc/mysql

打开mysql.cnf文件
命令:
vi /etc/mysql/mysql.cnf //打开mysql.cnf文件
![]()

之前的配置信息会在这个文件中,现在版本升级以后将配置进行了切分,放在不同的目录下,再将这两个目录下的文件引入到mysql.cnf这个文件中。
退出编辑文件:ESC之后:q退出编辑文件
分别查看两个不同目录下的文件
命令:
ll /etc/mysql/conf.d/ //查看/etc/mysql/conf.d/目录下文件

ll /etc/mysql/mysql.conf.d/ //查看/etc/mysql/mysql.conf.d/目录下文件

想要更改的配置文件就是/etc/mysql/mysql.conf.d/mysqld.cnf,使用vim或vi编辑器打开
安装vim的命令sudo apt install -y vim
命令:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf //编辑mysqld.cnf 文件,一定要加上sudo否则将没有权限修改这个只读文件

找到bind-address = 127.0.0.1

将这个配置注释掉

修改之后保存退出。
2.2、修改mysql数据库中mysql.user数据表的host
登录到mysql
命令:sudo mysql -u root -p
![]()
如果在安装时没有弹出设置密码的框时,首次登录没有密码直接回车进入mysql

新版本的mysql的mysql.user表中没有password字段了,取之代替的是authentication_string字段
SQL:
select user,host, plugin,authentication_string from mysql.user; //查看mysql.user表中的相关信息

root账户对应之处是没有authentication_string字段值的,也就没有密码。对应的plugin也是auth_socket的,需要将其改为mysql_native_password
设置root账户的访问权限:
SQL:
update mysql.user set host='%',plugin='mysql_native_password' where user = 'root';
刷新权限使设置生效:
SQL:
flush privileges; //刷新权限

再次查看mysql.user的部分信息:
SQL:
select user,host, plugin,authentication_string from mysql.user; //查看mysql.user表中的相关信息

root账户的host已经修改成为任何ip都可访问了。
设置root账户的密码
SQL:
update mysql.user set authentication_string=password('123456') where user='root' and host='%'; //设置root账户的密码

刷新权限使设置生效:
SQL:
flush privileges; //刷新权限

再次查看mysql.user的部分信息:
SQL:
select user,host, plugin,authentication_string from mysql.user; //查看mysql.user表中的相关信息

密码设置成功。
退出mysql
SQL:
exit //退出

重启mysq服务
命令:sudo /etc/init.d/mysql restart //重启mysq服务

使用Navicat测试连接

正常连接成功。
3、设置mysql的字符集编码
进入mysql数据库
命令:
mysql -u root -p
![]()
验证密码后登录:

查看mysql数据库的编码
命令:
show variables like '%char%'; //查看mysql数据库编码

如图所示,其中character_set_database和character_set_server的字符集不是utf8的
可以通过sql将编码修改为utf8,这样只是临时的操作,mysql重启之后又不生效了,所以需要修改配置文件
退出mysql
SQL:
exit //退出

修改配置文件/etc/mysql/conf.d/mysql.cnf
设置default-character-set=utf8
命令:
sudo vim /etc/mysql/conf.d/mysql.cnf
![]()

保存退出。
修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
在文件中的[mysqld]下设置
character-set-server=utf8
init_connect= SET NAMES utf8
命令:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
![]()

保存退出。
重启mysq服务
命令:sudo /etc/init.d/mysql restart //重启mysq服务

进入mysql数据库
命令:
mysql -u root -p

再次查询mysql数据库的编码
命令:
show variables like '%char%'; //查看mysql数据库编码

设置完成。
4、mysql忘记密码找回密码
找到mysql的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf编辑该文件,在[mysqld]下加入skip-grant-tables配置,这个配置表示在进入mysql时跳过密码密码验证,
命令:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf


保存退出;
重启mysql
命令:
sudo /etc/init.d/mysql restart

进入mysq
命令:
mysql -u root -p
![]()
直接回车便可进入mysql

再次查看mysql.user的部分信息:
SQL:
select user,host, plugin,authentication_string from mysql.user; //查看mysql.user表中的相关信息

修改root账户的密码:
SQL:
update mysql.user set authentication_string=password('12345678') where user='root' and host='%'; //设置root账户的密码

刷新权限表:
SQL:
flush privileges;
![]()
退出mysql
SQL:
exit //退出

将mysql的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf中[mysqld]下加入skip-grant-tables配置注释掉

保存退出
重启mysq服务
命令:sudo /etc/init.d/mysql restart //重启mysq服务

再次登入mysql
命令:mysql -u root -p
![]()
使用更改后的密码登录

至此找回密码成功
5、mysql相关命令
停止MySQL: /etc/init.d/mysql stop
启动MySQL:/etc/init.d/mysql start
重启MySQL:/etc/init.d/mysql restart
查看MySQL状态:service mysql status
6、设置mysql开机启动
设置mysql开机启动成功
命令:
update-rc.d mysql defaults

需要输入用户密码进行认证,输入密码验证成功,设置mysql开机启动成功
移除MySQL的开机服务
命令:
update-rc.d mysql remove

需要输入用户密码进行认证,输入密码验证成功,移除MySQL的开机服务
7、完全卸载mysql的方法
sudo apt-get autoremove --purge mysql-server-5.7
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
apt-get autoremove mysql-client-core-5.7
sudo apt-get remove mysql-common //这个很重要
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P