Linux下Ubuntu18.04Mysql5.7的安装,删除和连接到其他电脑的navicat之详解版
一.完全删除mysql
1.安装MySQL之前要测试自己是不是已经安装过mysql,通过查看依赖即可
dpkg --list|grep mysql
2.删除mysql的公共配置
sudo apt-get remove mysql-common
3.删除客户端和版本
udo apt-get autoremove --purge mysql-server-5.7
4.清除残留数据
dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
5.再次查看依赖项
dpkg --list|grep mysql
有的话继续删,或者是查看以下目录是否存在,有的话表示未删除干净
系统约定
安装文件下载目录:/data/software
Mysql目录安装位置:/usr/local/mysql
数据库保存位置:/data/mysql
日志保存位置:/data/log/mysql
二.在ubuntu18.0下安装mysql5.7,其他虚拟机系统以后会更新
1.安装mysql服务
sudo apt-get install mysql-server
2.安装客户端
sudo apt install mysql-client
3.安装依赖
sudo apt install libmysqlclient-dev
4.检查状态
sudo netstat -tap | grep mysql
结果:
tcp 0 0 localhost:mysql 0.0.0.0:* LISTEN 57814/mysqld
已经基本成功
三.配置安装mysql的环境,解决初始密码和权限问题
1.以下操作建议切换管理员模式操作,普通用户必须先赋予最高权限 .mysql5.7安装完成后普通用户不能进mysql,原因:root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password,直接用root权限登录就不用密码,修改root密码和登录验证方式:
su
2.登录mysql
mysql
3.使用mysql
use mysql;
4.修改mysql密码
update user set authentication_string=PASSWORD("这写你设置的密码")where user='root';
5.更改连接方式
update user set plugin="mysql_native_password";
6.赋予权限
grant all on *.* to '用户'@'%' identified by '密码'; #授权
7.刷新
flush privileges;
8.然后退出mysql,并重新启动服务
sudo service mysql restart
9.然后重新登录Mysql
四.连接本地的navicat
1.先拿好虚拟机的ip地址
ifconfig
ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:d9:67:5d:7d txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet ip的虚拟地址 netmask 255.255.255.0 broadcast 192.168.134.255
inet6 fe80::20c:29ff:feb4:9827 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b4:98:27 txqueuelen 1000 (Ethernet)
RX packets 321865 bytes 223638069 (223.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 332824 bytes 41473001 (41.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 234 bytes 22670 (22.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 234 bytes 22670 (22.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.在主机上面测试
ping ip虚拟地址
3.查看主机和虚拟机的防火墙有没有关闭?必须关闭同时主机和虚拟机的防火墙,否则就是一个巨坑
1.简单描述虚拟机Ubuntu下的虚拟机怎么关闭和开启
1.安装
sudo apt-get install ufw
2.查看状态
sudo ufw status
3.inactive状态是防火墙关闭状态
active是开启状态。
4.默认是关闭状态
2.赋予虚拟机数据库的权限,上文已经描述,可以先简单测试,要用虚拟机的ip地址和数据库的用户名和密码测试
报错:
数据库权限的问题
报错:
编辑 vim /etc/mysql/mysql.conf.d/mysqld.cnf
编辑mysql的配置文件,将127.0.0.0仅本机可以访问改为0.0.0.0
然后重启动 测试连接