Ubuntu20.04.LTS:安装mysql
一定要有root权限!!!!!!!!!!
步骤
-
直接用工具
sudo apt-get install mysql-server
-
结束后,用
sudo systemctl status mysql
查看是否在运行:
-
也可以采用
mysql --version
查看是否安装成功。
登录
- 要从命令行与MySQL服务器进行交互,请使用MySQL客户端实用程序,该实用程序是作为MySQL服务器软件包的依赖项安装的。
-
以root用户身份登录到MySQL服务器:
sudo mysql
-
然后:
mysql>use mysql; mysql>flush privileges; mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; mysql>flush privileges;
- 最后就可以使用
mysql -uroot -p
来登录了
配置远程连接
- 查看root用户允许登录的范围(host)
use mysql select host, user, authentication_string, plugin from user;
- 设置root允许远程登录,默认的root用户的host值是本地localhost,说明root用户只能本地登录。我们把root用户的修改为全部方式,host值为%
update user set host='%' where user='root';
- 刷新权限
FLUSH PRIVILEGES;
- 修改MySQL加密规则,MySQL8.0之前的版本密码加密规则:mysql_native_password
MySQL8.0密码加密规则:caching_sha2_password
开始修改,注意字段的值,'root'@'localhost'由于我们前面设置远程登陆,host修改为%,所以我这里要写'root'@'%',password位置要写MySQL的root用户密码,这里是root
按个复制粘贴就行,我执行的时候有一个命令报错也没关管,最后设置好之后放行端口也能正常连接
# 执行命令 ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; # 修改加密方式 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; # 重新设置root的密码,我这里新的密码依然写root ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新的密码';
-
刷新下权限
FLUSH PRIVILEGES;
-
vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改之后保存退出,在systemctl restart mysql
经过测试,上面呢一大段的可以注释掉,最主要的就是
bind-address
要打开!!!
-
nmap -p3306 你的服务器ip
扫描端口,发现是过滤的
-
防火墙放行3306,我的Ubuntu是ufw(iptables的可以参考最下面的文章链接)
sudo ufw allow 22 sudo ufw reload
- 可以看到端口已经开放
服务器控制台那里的规则也要开放一下端口!!!都要开放才可以正确访问对应的端口
- 测试
mysql常用命令
#启动 service mysql start systemctl start mysql #关闭 service mysql stop systemctl stop mysql #重启 service mysql restart systemctl restart mysql # 查看运行状态 service mysql status systemctl status mysql # 新增用户 CREATE USER 'admin'@'localhost' IDENTIFIED BY '你要设置的密码'; # 对新增的用户更改加密方式和密码 ALTER USER 'admin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin'; # 退出 quit # 卸载MySQL sudo rm /var/lib/mysql/ -R sudo rm /etc/mysql/ -R sudo apt-get autoremove mysql* --purge
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?