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

浙公网安备 33010602011771号