ubuntu20配置mysql注意事项

目录

一、mysql安装

二、初始化配置密码

三、配置文件的位置

四、常用的mysql命令

五、踩坑以及解决方法


一、mysql安装

1.更新apt源

bash 复制代码
sudo apt update

2.安装mysql服务

bash 复制代码
sudo apt-get install mysql-server

3.初始化配置

bash 复制代码
sudo mysql_secure_installation

4.配置项

  • VALIDATE PASSWORD PLUGIN can be used to test passwords... Press y|Y for Yes, any other key for No: N (选择N ,不会进行密码的强校验)
  • Please set the password for root here... New password: (输入密码) Re-enter new password: (重复输入)
  • By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them... Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (选择N,不删除匿名用户)
  • Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network... Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N (选择N,允许root远程连接)
  • By default, MySQL comes with a database named 'test' that anyone can access... Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (选择N,不删除test数据库)
  • Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (选择Y,修改权限立即生效)

5.检查mysql服务状态

bash 复制代码
systemctl status mysql.service

二、初始化配置密码

1.访问mysql数据库

bash 复制代码
sudo mysql

2.切换数据库

sql 复制代码
use mysql;

3.查询用户表命令

sql 复制代码
select User,authentication_string,Host from user;

4.查看状态

sql 复制代码
select host,user,plugin from user;

5.设置权限与密码

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; #使用mysql_native_password修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER; #更新一下用户的密码
UPDATE user SET host = '%' WHERE user = 'root'; #允许远程访问
  1. 刷新cache中配置 刷新权限
sql 复制代码
flush privileges; 
quit;

三、配置文件的位置

/etc/mysql/my.cnf

配置文件修改如下:

bash 复制代码
[mysqld]
port=3306
socket=/var/lib/mysql/mysql.socket
#socket=/tmp/mysql.socket
skip-external-locking
skip-grant-tables

四、常用的mysql命令

1.重启mysql

bash 复制代码
sudo systemctl restart mysql

2.查看mysql服务状态

bash 复制代码
sudo systemctl status mysql

3.启动mysql

bash 复制代码
sudo systemctl start mysql

五、踩坑以及解决方法

**遇到问题:**Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";

解决方法:

  1. 按照三中的方法对配置文件进行修改修改后重启mysql服务

  2. 查看在/var/lib/mysql下是否存在mysql.socket

3.尝试如下命令:

bash 复制代码
mysql -u root -p -S /var/lib/mysql/mysql.socket

输入密码后可进入mysql

4.上述命令成功后,进行软连接

bash 复制代码
ln -s /var/lib/mysql/mysql.socket /tmp/mysql.sock

5.之后可通过mysql -u root -p的方式访问mysql

参考链接1

参考链接2

相关推荐
njidf1 分钟前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
F1FJJ7 分钟前
什么是 Shield CLI?视频讲解:一条命令,可浏览器远程访问一切内部服务(RDP/VNC/SSH/数据库等)
运维·网络·数据库·网络协议·ssh
星辰_mya33 分钟前
InnoDB的“身体结构”:页、Buffer Pool与Redo Log的底层奥秘
数据库·mysql·spring·面试·系统架构
F1FJJ1 小时前
Shield CLI 命令全解析:15 个命令覆盖所有远程访问场景
网络·数据库·网络协议·容器·开源软件
IMPYLH1 小时前
Linux 的 dircolors 命令
linux·运维·服务器·数据库
2301_822782821 小时前
自动化与脚本
jvm·数据库·python
qq_148115371 小时前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
Rysxt_2 小时前
MySQL 触发器详解与 Navicat 实战操作指南
mysql·触发器·navicat
XXOOXRT2 小时前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu
2401_878530212 小时前
机器学习与人工智能
jvm·数据库·python