Ubuntu24.04 安装MySQL8.0.36 并配置Navicat远程连接

1. 更新系统和软件源

sudo apt update && sudo apt upgrade

2. 安装mysql

sudo apt install mysql-server
# 也可以指定版本如
sudo apt install mysql-server-8.0.36

3. 查看是否安装成功

mysql -V

4. 启动服务

#启动服务
sudo service mysql start

sudo service mysql stop
# 附加一条命令:可以用来查看服务状态

sudo systemctl status mysql

# 可以按q退出

5. 进入mysql

默认是没有密码的,但不能用当前用户进入,而是需要提权
注:需要提权,是因为没有启动服务,如果启动服务,后就不再需要提权了,下面也是。

sudo mysql -uroot -p

此时按两次enter,第二次表示没有密码

6. 修改密码  :首次更改密码,比如这样做

注:此时是进入mysql的命令行模式。

alter user 'root'@'localhost' identified by 'root';

FLUSH PRIVILEGES;

exit;

sudo mysql -uroot -p

仍需要提权,直接输入密码,root,然后按回车键即可进入mysql

7. 重启服务后,就不需要提权,而是直接就可以使用mysql命令进入数据库了。

注:完成这一步后,后续进入mysql,可能需要输入密码,但后面会变正常的。

service mysql restart

注:我发现此时依然需要sudo mysql -uroot -p才能进入mysql,当然需要密码root。

8. 配置远程连接,因为使用Navicat远程访问mysql,所以需要修改MySQL的密码,这是MySQL的密码规则导致的。

有如下方式:

1. 先进入mysql,查看所有数据库
show databases;
2. 选择mysql数据库,use mysql;然后执行如下操作:
use mysql;
3. 允许任何IP远程连接
update user set Host='%' where User='root';
4. 设置密码规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
5. 设置远程访问--首先进入mysql
grant all privileges on *.* to 'root'@'%' with grant option;
6. 进行指令刷新
flush privileges;
7. 退出mysql
exit;
8. 注释掉mysqld.cnf中bind-address=127.0.0.1

打开文件etc/mysql/mysql.conf.d/mysqld.cnf

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

设置成如下内容,即将其注释掉。要求会用vi或vim编辑文件和保存

#bind-address=127.0.0.1
mysqlx-bind-address  = 127.0.0.1
9. 重启服务
sudo service mysql restart

注:如果在设置密码规则时报这样的错误Operation ALTER USER failed for ‘root‘@‘%‘,解决方法见本文下面的附注

注:重启服务后,可以使用mysql -uroot -p来进入,而不再需要sudo提权。

10. 或许要设置开机自启动
sudo update-rc.d -f mysql defaults
11. win下Navicat远程访问linux上的mysql

附注:

1.错误Operation ALTER USER failed for ‘root‘@‘%‘,解决方法

1、连接服务器: mysql -u root -p
2、看当前所有数据库:show databases;
3、进入mysql数据库:use mysql;
4、查看mysql数据库中所有的表:show tables;
5、查看user表中的数据:select Host, User from user;
6、修改user表中的Host: update user set Host='%' where User='root';
说明: % 代表任意的客户端,可替换成具体IP地址。
7 、注意:一定要记得在写sql的时候要在语句完成后加上" ; "
8、 修改密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
9、最后刷新一下:flush privileges;

posted @ 2024-07-26 21:51  い果粒橙ぺ  阅读(102)  评论(0编辑  收藏  举报