Ubuntu 20安装MySQL

19 篇文章 0 订阅

环境

Ubuntu 20.04

安装

sudo apt-get install mysql-server  
sudo apt install mysql-client   
sudo apt install libmysqlclient-dev

验证

➜  ~ sudo netstat -tap | grep mysql 
tcp        0      0 localhost:mysql         0.0.0.0:*               LISTEN      34468/mysqld        
tcp6       0      0 [::]:33060              [::]:*                  LISTEN      34468/mysqld 
➜  ~ sudo service mysql status 
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-07-17 16:31:42 CST; 2h 15min ago
    Process: 34445 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCC>
   Main PID: 34468 (mysqld)
     Status: "Server is operational"
      Tasks: 47 (limit: 4624)
     Memory: 343.4M
     CGroup: /system.slice/mysql.service
             └─34468 /usr/sbin/mysqld

Jul 17 16:31:41 ubuntu systemd[1]: Starting MySQL Community Server...
Jul 17 16:31:42 ubuntu systemd[1]: Started MySQL Community Server.
➜  ~ mysql --version

mysql  Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

MySQL常用命令

  • 进入交互命令行:
sudo mysql -u root

注:如果设置了密码,则需要加上 -p 参数( sudo mysql -u root -p 或者 sudo mysql -u root -p 123456 )。

  • 列出所有DB:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.11 sec)
  • 创建DB:
mysql> create database repo;
Query OK, 1 row affected (0.00 sec)
  • 切换DB:
mysql> use repo;
Database changed
  • 创建table
mysql> create table job (jobid varchar(100), jobname varchar(100));
Query OK, 0 rows affected (0.01 sec)
  • 插入1条记录
mysql> insert into job values ('aaa', 'this is aaa');
Query OK, 1 row affected (0.01 sec)
  • 查询table
mysql> select * from job;
+-------+-------------+
| jobid | jobname     |
+-------+-------------+
| aaa   | this is aaa |
+-------+-------------+
1 row in set (0.00 sec)
  • 列出所有table
mysql> show tables;
+----------------+
| Tables_in_repo |
+----------------+
| job            |
+----------------+
1 row in set (0.00 sec)
  • 退出交互命令行
mysql> quit
Bye

非root用户登录

如果用非root用户登录MySQL,报错如下:

➜  ~ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

用root登录MySQL,使用默认的 mysql DB,查看 user table:

mysql> select User,Host,plugin from user;
+------------------+-----------+-----------------------+
| User             | Host      | plugin                |
+------------------+-----------+-----------------------+
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | auth_socket           |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)

更新 rootplugin 字段如下:

mysql> update user set plugin='mysql_native_password' where User = 'root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

刷新权限:

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

重启service:

sudo service mysql restart

现在,就可以用非root用户登录MySQL了:

mysql -u root

设置登录密码

有好几种方式可以设置密码,我使用的是如下方式:

➜  ~ mysqladmin -uroot -p password
Enter password: 
New password: 
Confirm new password: 
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

Enter password: 处,直接回车就行(因为还没有设置密码)。

接下来在 New password:Confirm new password: 处,输入新密码,比如 123456

参考

  • https://blog.csdn.net/mr_hui_/article/details/88878836
  • https://blog.csdn.net/chenhuibrus/article/details/104665068
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值