Ubuntu 下 MySQL 安装与配置全攻略:从入门到精通
🚀 Ubuntu 下 MySQL 安装与配置全攻略:从入门到精通 🌟
简介:MySQL 是目前最流行的开源关系型数据库之一,广泛应用于各种项目中。本文将带你从零开始安装 MySQL,并详细介绍如何进行基本操作、用户管理、远程访问设置以及数据导出导入等高级功能。无论你是初学者还是有一定经验的开发者,都能从中受益匪浅!💪
目录
- 安装 MySQL
- 修改 MySQL 密码(首次登录)
- 基本操作
- 解决新版本(8.0+)常见问题
- 允许外网连接 MySQL
- 开启远程登录权限
- 导出/导入 MySQL 数据库
- 总结
安装 MySQL
在 Ubuntu 系统中,安装 MySQL 非常简单,只需一条命令即可完成:
sudo apt-get install mysql-server
安装完成后,可以通过以下命令检查 MySQL 服务状态:
sudo systemctl status mysql
查看mysql版本号
mysql -V
修改 MySQL 密码(首次登录)
1. 查看默认密码
sudo cat /etc/mysql/debian.cnf
记下 password
字段的值。
2. 登录 MySQL
mysql -u debian-sys-maint -p
输入上一步获取的密码。
3. 修改密码
对于 MySQL 5.7 及以下版本:
use mysql;
update mysql.user set authentication_string=password('ubuntu123') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;
对于 MySQL 8.0 及以上版本:
新版本的Mysql中password函数被弃用,取而代之的是ALTER USER语句
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ubuntu123';
update user set plugin="mysql_native_password";
flush privileges;
quit;
4. 重启 MySQL 服务
sudo service mysql restart
测试新密码[ubuntu123]是否生效:
mysql -u root -p
基本操作
查看所有数据库
show databases;
使用指定数据库
use mysql;
查看数据库中的表
show tables;
查看表内容
select * from sys_usr;
插入数据
insert into sys_usr values(1, 'admin');
解决新版本(8.0+)常见问题
如果你使用的是 MySQL 8.0 及以上版本,在执行 show databases;
时可能会遇到报错(如错误代码 1499)
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
以下是解决方案:
创建用户并授权
--创建用户:
create user 'mysql.infoschema'@'%' identified by '{密码}';
--用户授权:
grant all privileges on *.* to 'mysql.infoschema'@'%';
--刷新授权:
flush privileges;
注意:'@' '%'
表示授权所有用户。
允许外网连接 MySQL
默认情况下,MySQL 只允许本地连接。如果需要外网访问,请按以下步骤操作:
1. 检查端口状态
netstat -ntlp | grep -v tcp6
2. 修改配置文件
查找配置文件位置
sudo find / -name mysqld.cnf
MySQL 5.7 版本:
编辑 /etc/mysql/mysql.conf.d/mysqld.cnf
文件,将 bind-address = 127.0.0.1
修改为:
bind-address = 0.0.0.0
MySQL 5.7 以前版本:
编辑 /etc/mysql/my.cnf
文件,同样将 bind-address = 127.0.0.1
修改为:
bind-address = 0.0.0.0
3. 重启 MySQL 服务
sudo service mysql restart
验证端口状态:
netstat -ntlp | grep -v tcp6
开启远程登录权限
mysql安装完成后,默认是不能远程登陆的,只能在本地用localhost 或者127.0.0.1登录访问,如果需要远程登录,则需要修改mysql设置
1. 【本地】登录 MySQL
mysql -u root -p
2. 查看当前权限设置
use mysql;
select host, user from user;
3. 修改 root 用户权限
update user set host = '%' where user = 'root';
如果报错,可以尝试:
update user set host = "%" where user = "root";
验证当前权限设置:
select host, user from user;
4. 刷新权限设置,即可远程登录
FLUSH PRIVILEGES;
导出/导入 MySQL 数据库
导入数据库
- 登录 MySQL:
mysql -u root -p
- 并创建目标数据库:
CREATE DATABASE face_recognition; use face_recognition;
- 导入 SQL 文件:
source /home/ubuntu/face_recognition.sql;
导出数据库
-
登录 MySQL:
mysql -u root -p
-
查看数据库名称:
show databases;
- 退出 MySQL:
-
方式一:
exit
-
方式二:
quit
- 导出指定数据库:
mysqldump -u root -p face_recognition > face_recognition.sql
总结
通过本文,我们详细介绍了如何在 Ubuntu 系统中安装和配置 MySQL,并解决了常见的问题,包括新版本兼容性、密码修改、外网访问设置以及数据导出导入等。希望这些内容能够帮助你更好地掌握 MySQL 的使用技巧!🎉
常用命令速查表
功能 | 命令 |
---|---|
安装 MySQL | sudo apt-get install mysql-server |
查看数据库 | show databases; |
使用数据库 | use database_name; |
查看表 | show tables; |
插入数据 | insert into table_name values(...); |
修改 MySQL 密码 | ALTER USER 'root'@'localhost' ... |
允许外网连接 | 修改 mysqld.cnf 中的 bind-address |
导出数据库 | mysqldump -u root -p db_name > file.sql |
导入数据库 | source /path/to/file.sql; |
参考博客:
-
首次登录mysql未设置密码或忘记密码解决方法_子非 。的博客-CSDN博客
-
Mysql5.7升级8.0登录后查询数据库报1499错误 – 源码巴士 (code84.com)
-
ubuntu 安装mysql并设置密码 - 深水是沉默 - 博客园 (cnblogs.com)
-
ubuntu(同mac)中 导出/导入MYSQL数据库的所有表到本地(sql后缀的文件) - 简书 (jianshu.com)
-
message from server: “Host is not allowed to connect to this MySQL server“问题的解决办法_Julia_up的博客-CSDN博客
🌟 如果你觉得这篇文章对你有帮助,请点赞支持一下哦!💬 有任何疑问或建议,欢迎在评论区留言讨论!