上面獲得的連接地址即爲 mysql-apt-config
的下載地址。html
本文發表之時的最新地址爲:https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
mysql
在閱讀下面的內容前,請先登陸您的服務器。linux
# 1. 下載 mysql-apt-config
$ sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
# 2. 安裝 mysql-apt-config
$ sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
複製代碼
這時會有一個可視化界面出現,以下圖所示。git
選擇第一項,能夠看到讓咱們選擇 MySQL
的版本,我這邊選擇的是 5.7 版本。而後一路 Ok
下去就能夠了。github
# 1. 升級列表中的軟件包
$ sudo apt-get update
# 2. 安裝 mysql-server mysql-common mysql-client
$ sudo apt-get install mysql-server mysql-common mysql-client
複製代碼
若是出現一個要求輸入數據庫密碼的界面的話,那麼按着提示進行操做(輸入密碼,再次輸入密碼,確認)。若是沒有看到這個界面,也沒必要驚慌(反正我也沒有看到這個界面…🙄️),下一小節會講解如何設置密碼。sql
MySQL
安裝完成後會自動啓動,能夠經過 sudo service mysql status
檢查運行狀態,控制檯中輸下面的內容就表示 MySQL
正在運行。shell
$ service mysql status
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Tue 2019-04-02 23:43:54 CST; 23h ago
Process: 4434 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/my
Process: 4412 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exit
Main PID: 4436 (mysqld)
Tasks: 28 (limit: 1113)
CGroup: /system.slice/mysql.service
└─4436 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
Apr 02 23:43:53 VM-0-15-ubuntu systemd[1]: Stopped MySQL Community Server.
Apr 02 23:43:53 VM-0-15-ubuntu systemd[1]: Starting MySQL Community Server...
Apr 02 23:43:54 VM-0-15-ubuntu systemd[1]: Started MySQL Community Server.
複製代碼
經常使用命令:數據庫
# 查看 MySQL 運行狀態
$ sudo service mysql status
# 啓動 MySQL 服務
$ sudo service mysql start
# 中止 MySQL 服務
$ sudo service mysql stop
# 重啓 MySQL 服務
$ sudo service mysql restart
複製代碼
MySQL 5.7
安裝完成後普通用戶不能進 mysql,緣由:root
的 plugin
被修改爲了 auth_socket
,用密碼登錄的 plugin
應該是 mysql_native_password
,直接用 root
權限登陸就不用密碼,修改 root
密碼和登陸驗證方式ubuntu
# 切換到 root 用戶,運行 MySQL 命令
$ sudo su & mysql
# 修改密碼
mysql> select user, plugin from mysql.user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
4 rows in set (0.00 sec)
mysql> update mysql.user set authentication_string=PASSWORD('123456'), plugin='mysql_native_password' where user='root';
mysql> flush privileges;
# 退出 MySQL
mysql> exit
Bye
# 重啓 MySQL
$ sudo /etc/init.d/mysql restart
複製代碼
經過上面的代碼,就將 MySQL
的密碼設置成了 123456,咱們能夠檢查下密碼是否設置成功:bash
# 登陸 MySQL
$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)
Copyright (c) 2000, 2018, 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>
複製代碼
執行新增用戶的 SQL
語句
mysql> create user 'zhangpeng'@'%' identified by '123456';
Query OK, 0 rows affected (0.08 sec)
複製代碼
注: 'zhangpeng'@'%'表示 zhangpeng 這個帳號容許遠程登陸。 若是寫成 'zhangpeng'@'localhost' ,那麼只能本地登陸。
MySQL的默認字符集不是utf8,所以咱們須要修改 MySQL 的字符集。
編輯配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf
),將下面內容填入配置文件。
[client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock character-set-server=utf8 [mysql] no-auto-rehash default-character-set=utf8
修改完畢後,檢查字符集是否設置成功
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.17 sec)
複製代碼
# 修改配置文件,註釋掉 bind-address = 127.0.0.1
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
保存退出,而後進入mysql服務,執行受權命令:
$ mysql -uroot -p
mysql> grant all on *.* to root@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
$ sudo /etc/init.d/mysql restart
複製代碼
title: 【Server】Ubuntu 安裝 mysql 筆記
author: zhangpeng
date: 2019.04.03
GitHub: github.com/fullstack-z…