MySQL

Posted 你的笑忘书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL相关的知识,希望对你有一定的参考价值。

Ubuntu 17.10 安装 mysql 5.7

大致步骤

sudo apt-get update
sudo apt-get install mysql-server

sudo service mysql status
mysqladmin -p -u root version
mysql -utoot -p

 

sudo apt-get update 

默认情况下,只有最新版本的 MySQL 包含在 APT 软件包存储库中。在撰写本文时,最新版本是 MySQL 5.7,要安装它,只需更新服务器上的包索引并安装默认包 apt-get。

 

sudo apt-get install mysql-server 

安装 MySQL 服务端。安装过程中,系统将提示您在安装过程中创建 root 密码。选择一个安全的密码,并确保你记住它,因为你以后需要它。接下来,我们将完成 MySQL 的配置。

 

sudo mysql_secure_installation 

运行安全脚本,安装过程中,此步骤可暂时跳过。

因为是全新安装,需要运行附带的安全脚本。这会更改一些不太安全的默认选项,例如远程 root 登录和示例用户。在旧版本的 MySQL 上,需要手动初始化数据目录,但 Mysql 5.7 已经自动完成了。

 

sudo service mysql status

 

mysqladmin -p -u root version 

 

mysql -utoot -p 

 

Shell

zhouk@ubuntu:~$ sudo apt-get update
[sudo] zhouk 的密码: 
命中:1 http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease
命中:2 http://us.archive.ubuntu.com/ubuntu artful InRelease                                                                        
获取:3 http://security.ubuntu.com/ubuntu artful-security InRelease [78.6 kB]
获取:4 http://us.archive.ubuntu.com/ubuntu artful-updates InRelease [78.6 kB]      
获取:5 http://security.ubuntu.com/ubuntu artful-security/main amd64 DEP-11 Metadata [204 B]
获取:6 http://us.archive.ubuntu.com/ubuntu artful-backports InRelease [72.2 kB]
获取:7 http://security.ubuntu.com/ubuntu artful-security/universe amd64 DEP-11 Metadata [10.2 kB]
获取:8 http://us.archive.ubuntu.com/ubuntu artful-updates/main amd64 DEP-11 Metadata [56.7 kB]
获取:9 http://us.archive.ubuntu.com/ubuntu artful-updates/main DEP-11 64x64 Icons [35.1 kB]
获取:10 http://us.archive.ubuntu.com/ubuntu artful-updates/universe amd64 DEP-11 Metadata [48.2 kB]
获取:11 http://us.archive.ubuntu.com/ubuntu artful-updates/universe DEP-11 64x64 Icons [48.4 kB]
获取:12 http://us.archive.ubuntu.com/ubuntu artful-backports/universe amd64 DEP-11 Metadata [4,708 B]
已下载 433 kB,耗时 3秒 (129 kB/s)                                           
正在读取软件包列表... 完成
zhouk@ubuntu:~$ sudo apt-get install mysql-server
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  libaio1 libevent-core-2.1-6 mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7
建议安装:
  mailx tinyca
下列【新】软件包将被安装:
  libaio1 libevent-core-2.1-6 mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7
升级了 0 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 0 B/20.4 MB 的归档。
解压缩后会消耗 160 MB 的额外空间。
您希望继续执行吗? [Y/n] Y
正在预设定软件包 ...
正在选中未选择的软件包 mysql-common。
(正在读取数据库 ... 系统当前共安装有 176830 个文件和目录。)
正准备解包 .../0-mysql-common_5.8+1.0.2ubuntu1_all.deb  ...
正在解包 mysql-common (5.8+1.0.2ubuntu1) ...
正在选中未选择的软件包 libaio1:amd64。
正准备解包 .../1-libaio1_0.3.110-4_amd64.deb  ...
正在解包 libaio1:amd64 (0.3.110-4) ...
正在选中未选择的软件包 mysql-client-core-5.7。
正准备解包 .../2-mysql-client-core-5.7_5.7.20-0ubuntu0.17.10.1_amd64.deb  ...
正在解包 mysql-client-core-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在选中未选择的软件包 mysql-client-5.7。
正准备解包 .../3-mysql-client-5.7_5.7.20-0ubuntu0.17.10.1_amd64.deb  ...
正在解包 mysql-client-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在选中未选择的软件包 mysql-server-core-5.7。
正准备解包 .../4-mysql-server-core-5.7_5.7.20-0ubuntu0.17.10.1_amd64.deb  ...
正在解包 mysql-server-core-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在选中未选择的软件包 libevent-core-2.1-6:amd64。
正准备解包 .../5-libevent-core-2.1-6_2.1.8-stable-4_amd64.deb  ...
正在解包 libevent-core-2.1-6:amd64 (2.1.8-stable-4) ...
正在设置 mysql-common (5.8+1.0.2ubuntu1) ...
update-alternatives: 使用 /etc/mysql/my.cnf.fallback 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
正在选中未选择的软件包 mysql-server-5.7。
(正在读取数据库 ... 系统当前共安装有 176997 个文件和目录。)
正准备解包 .../mysql-server-5.7_5.7.20-0ubuntu0.17.10.1_amd64.deb  ...
正在解包 mysql-server-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在选中未选择的软件包 mysql-server。
正准备解包 .../mysql-server_5.7.20-0ubuntu0.17.10.1_all.deb  ...
正在解包 mysql-server (5.7.20-0ubuntu0.17.10.1) ...
正在设置 libevent-core-2.1-6:amd64 (2.1.8-stable-4) ...
正在处理用于 ureadahead (0.100.0-20) 的触发器 ...
正在处理用于 libc-bin (2.26-0ubuntu2) 的触发器 ...
正在设置 libaio1:amd64 (0.3.110-4) ...
正在处理用于 systemd (234-2ubuntu12.1) 的触发器 ...
正在处理用于 man-db (2.7.6.1-2) 的触发器 ...
正在设置 mysql-client-core-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在设置 mysql-server-core-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在设置 mysql-client-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在设置 mysql-server-5.7 (5.7.20-0ubuntu0.17.10.1) ...
update-alternatives: 使用 /etc/mysql/mysql.cnf 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
Renaming removed key_buffer and myisam-recover options (if present)
Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
正在设置 mysql-server (5.7.20-0ubuntu0.17.10.1) ...
正在处理用于 libc-bin (2.26-0ubuntu2) 的触发器 ...
正在处理用于 ureadahead (0.100.0-20) 的触发器 ...
正在处理用于 systemd (234-2ubuntu12.1) 的触发器 ...
zhouk@ubuntu:~$ sudo service mysql status
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2017-12-31 14:32:44 CST; 50s ago
 Main PID: 3202 (mysqld)
    Tasks: 28 (limit: 19660)
   CGroup: /system.slice/mysql.service
           └─3202 /usr/sbin/mysqld

12月 31 14:32:42 ubuntu systemd[1]: Starting MySQL Community Server...
12月 31 14:32:44 ubuntu systemd[1]: Started MySQL Community Server.
zhouk@ubuntu:~$ mysqladmin -p -u root version
Enter password: 
mysqladmin  Ver 8.42 Distrib 5.7.20, for Linux on x86_64
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version		5.7.20-0ubuntu0.17.10.1
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/run/mysqld/mysqld.sock
Uptime:			3 min 44 sec

Threads: 1  Questions: 3  Slow queries: 0  Opens: 107  Flush tables: 1  Open tables: 26  Queries per second avg: 0.013
zhouk@ubuntu:~$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 6
Server version: 5.7.20-0ubuntu0.17.10.1 (Ubuntu)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
31 rows in set (0.00 sec)

mysql> 

 

Ubuntu 17.10 卸载 MySQL 5.7

步骤大致4步

sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean

 

sudo apt purge mysql-* 

 

sudo rm -rf /etc/mysql/ /var/lib/mysql 

 

sudo apt autoremove 

 

sudo apt autoclean 

重启虚拟机! 

 

Shell

zhouk@ubuntu:~$ sudo apt purge mysql-*
[sudo] zhouk 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
注意,根据Glob \'mysql-*\' 选中了 \'mysql-workbench\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-client-5.5\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-client-5.6\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-client-5.7\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-common-5.6\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-5.0\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-5.1\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-5.5\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-5.6\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-5.7\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-utilities\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-testsuite\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-client\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-sandbox\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-client-core-5.5\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-client-core-5.6\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-client-core-5.7\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-testsuite-5.5\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-testsuite-5.6\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-testsuite-5.7\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-common\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-workbench-data\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-core-5.1\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-core-5.5\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-core-5.6\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-server-core-5.7\'
注意,根据Glob \'mysql-*\' 选中了 \'mysql-source-5.7\'
软件包 mysql-client-5.5 未安装,所以不会被卸载
软件包 mysql-client-5.6 未安装,所以不会被卸载
软件包 mysql-server-core-5.6 未安装,所以不会被卸载
软件包 mysql-client-core-5.5 未安装,所以不会被卸载
软件包 mysql-client-core-5.6 未安装,所以不会被卸载
注意,选中 \'mysql-common\' 而非 \'mysql-common-5.6\'
软件包 mysql-server-5.5 未安装,所以不会被卸载
软件包 mysql-server-5.6 未安装,所以不会被卸载
软件包 mysql-server-core-5.5 未安装,所以不会被卸载
软件包 mysql-testsuite-5.5 未安装,所以不会被卸载
软件包 mysql-testsuite-5.6 未安装,所以不会被卸载
软件包 mysql-server-5.0 未安装,所以不会被卸载
软件包 mysql-server-5.1 未安装,所以不会被卸载
软件包 mysql-server-core-5.1 未安装,所以不会被卸载
软件包 mysql-sandbox 未安装,所以不会被卸载
软件包 mysql-utilities 未安装,所以不会被卸载
软件包 mysql-workbench 未安装,所以不会被卸载
软件包 mysql-workbench-data 未安装,所以不会被卸载
软件包 mysql-client 未安装,所以不会被卸载
软件包 mysql-source-5.7 未安装,所以不会被卸载
软件包 mysql-testsuite 未安装,所以不会被卸载
软件包 mysql-testsuite-5.7 未安装,所以不会被卸载
下列软件包是自动安装的并且现在不需要了:
  libaio1 libevent-core-2.1-6
使用\'sudo apt autoremove\'来卸载它(它们)。
下列软件包将被【卸载】:
  mysql-client-5.7* mysql-client-core-5.7* mysql-common* mysql-server*
  mysql-server-5.7* mysql-server-core-5.7*
升级了 0 个软件包,新安装了 0 个软件包,要卸载 6 个软件包,有 0 个软件包未被升级。
解压缩后将会空出 160 MB 的空间。
您希望继续执行吗? [Y/n] Y
(正在读取数据库 ... 系统当前共安装有 177086 个文件和目录。)
正在卸载 mysql-server (5.7.20-0ubuntu0.17.10.1) ...
正在卸载 mysql-server-5.7 (5.7.20-0ubuntu0.17.10.1) ...
update-alternatives: 使用 /etc/mysql/my.cnf.fallback 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
正在卸载 mysql-client-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在卸载 mysql-client-core-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在卸载 mysql-common (5.8+1.0.2ubuntu1) ...
正在卸载 mysql-server-core-5.7 (5.7.20-0ubuntu0.17.10.1) ...
正在处理用于 man-db (2.7.6.1-2) 的触发器 ...
(正在读取数据库 ... 系统当前共安装有 176859 个文件和目录。)
正在清除 mysql-common (5.8+1.0.2ubuntu1) 的配置文件 ...
正在清除 mysql-server-5.7 (5.7.20-0ubuntu0.17.10.1) 的配置文件 ...
正在处理用于 ureadahead (0.100.0-20) 的触发器 ...
正在处理用于 systemd (234-2ubuntu12.1) 的触发器 ...
zhouk@ubuntu:~$ sudo rm -rf /etc/mysql/ /var/lib/mysql
zhouk@ubuntu:~$ sudo apt autoremove
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包将被【卸载】:
  libaio1 libevent-core-2.1-6
升级了 0 个软件包,新安装了 0 个软件包,要卸载 2 个软件包,有 0 个软件包未被升级。
解压缩后将会空出 286 kB 的空间。
您希望继续执行吗? [Y/n] Y
(正在读取数据库 ... 系统当前共安装有 176841 个文件和目录。)
正在卸载 libaio1:amd64 (0.3.110-4) ...
正在卸载 libevent-core-2.1-6:amd64 (2.1.8-stable-4) ...
正在处理用于 libc-bin (2.26-0ubuntu2) 的触发器 ...
zhouk@ubuntu:~$ sudo apt autoclean
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
zhouk@ubuntu:~$ 

 

ojbk

以上是关于MySQL的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段

mysql查看版本的四种方法