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

相关推荐
nongcunqq1 小时前
abap 操作 excel
java·数据库·excel
rain bye bye2 小时前
calibre LVS 跑不起来 就将setup 的LVS Option connect下的 connect all nets by name 打开。
服务器·数据库·lvs
冻咸鱼2 小时前
MySQL的配置
mysql·配置
阿里云大数据AI技术3 小时前
云栖实录|MaxCompute全新升级:AI时代的原生数据仓库
大数据·数据库·云原生
不剪发的Tony老师4 小时前
Valentina Studio:一款跨平台的数据库管理工具
数据库·sql
weixin_307779134 小时前
在 Microsoft Azure 上部署 ClickHouse 数据仓库:托管服务与自行部署的全面指南
开发语言·数据库·数据仓库·云计算·azure
六元七角八分4 小时前
pom.xml
xml·数据库
虚行4 小时前
Mysql 数据同步中间件 对比
数据库·mysql·中间件
奥尔特星云大使4 小时前
mysql读写分离中间件Atlas安装部署及使用
数据库·mysql·中间件·读写分离·atlas
牛马baby5 小时前
【mysql】in 用到索引了吗?
数据库·mysql·in