Ubuntu 18.04 安裝配置 MySQL 5.7


Ubuntu 18.04 安裝 mysql 的過程中,竟然沒有讓你輸入秘密?!(之前在 Ubuntu 14.04 下,安裝過程中會詢問密碼),這導致安裝完 mysql 初始秘密不知道的問題。

$ sudo apt-get install mysql-server-5.7

解決方法如下:

1)安裝完成后,會生成文件 /etc/mysql/debian.cnf ,初始用戶名和秘密如下 (這里密碼是隨機的)

$ sudo cat /etc/mysql/debian.cnf 
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = 63vIY3PtyKh10cmZ
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = 63vIY3PtyKh10cmZ
socket   = /var/run/mysqld/mysqld.sock

2)使用這個用戶名和秘密登陸 mysql

$ mysql -h 127.0.0.1 -u debian-sys-maint -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2019, 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> 

3)然后做如下操作(這里設置秘密為 1,讀者請自行設置自己的密碼)

mysql> update mysql.user set authentication_string=password('1') where user='root' and host='localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

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

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

mysql> quit;
Bye

4)重新啟動 mysql

$ sudo service mysql restart

5)之后就可以使用 root 登陸了

$ mysql -h 127.0.0.1 -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2019, 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> 

6)檢查默認字符編碼

mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

  將其改為 utf8,打開 /etc/mysql/mysql.conf.d/mysqld.cnf,在最后添加一句,

character-set-server=utf8

  重新啟動 mysql,

$ sudo service mysql restart

  再次查看字符編碼,

mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| 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.01 sec)

 

7)使用 mycli 自動補全

 默認 mysql 命令行登陸后,輸入命令不會提示及自動補全,非常麻煩,通過使用 mycli 自動補全會方便很多。

安裝如下,

$ sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ mycli

使用 mycli 啟動數據庫連接,

$ mycli -h 127.0.0.1 -u root -p ******** ( here your DB password)

 

8)  安裝 mysql 的 python 借口 mysqlclient (Django 對此接口的支持比 mysql-connector-python 好)

$ sudo apt-get install default-libmysqlclient-dev
$ sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ mysqlclient

 

本文參考網友博客:https://blog.csdn.net/qq_38737992/article/details/81090373

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM