原先有安装MySQL8.0,但是远程连接不会设置,所以卸载了装的5.7
一、
彻底删除mysql5.7
删除mysql前 先删除一下 /var/lib/mysql 还有 /etc/mysql
#下面命令依次执行 sudo rm /var/lib/mysql/ -R # 删除数据库目录 sudo rm /etc/mysql/ -R #删除启动脚本、配置文件等 sudo apt-get autoremove mysql* --purge # 卸载mysql所有文件 sudo apt-get remove apparmor # 这个apparmor是在装mysql-server时装上的,和安全有关 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 清理残余mysql文件
mysql5.7的安装
sudo apt-get install mysql-server1
上述命令会安装以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了mysqlTips: 安装过程会提示输入root的密码,请自行记住密码,否则很麻烦。
安装成功后,登录mysql
mysql -u root -p1
紧接着根据提示输入密码:最后显示
MySQL> 代表登录成功。
常见命令:
service mysql start # 启动mysql
service mysql stop # 关闭mysql12
问题: 默认情况下,mysql只允许本地登录,
二、远程连接
如果要开启远程连接,则需要进行以下操作:
1.需要修改/etc/mysql/mysql.conf.d/mysqld.cnf 文件。
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可
2.在连接服务器后,操作mysql系统数据库
命令为: mysql -u root -p
use mysql;
**3. 查询用户表命令:select User,authentication_string,Host from user; (这里也可以看出host默认都是localhost访问权限)
创建可以访问的用户名即密码
GRANT ALL PRIVILEGES ON . TO ‘可以访问的用户名’@’%’ IDENTIFIED BY ‘密码’;
%代表所有主机,也可以具体到你的主机ip地址
5.刷新权限: flush privileges;
这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据
因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
执行完这两步,再次查询用户表命令:select User,authentication_string,Host from user 可以看到成功添加了用户
6.重新启动mysql服务
service mysql restart
开启成功。自己去找个Navicat试试可视化