20191119 很久没有在服务器上安装 mysql 了,很多细节都已经忘记了!找出以前的纪录,亦步亦趋的操作,还是会出现不一样的情况!
所以,再次记录一下本次过程!
1、打开自己以前的记录
官网手册
https://help.ubuntu.com/lts/serverguide/serverguide.pdf
从前的纪录
https://blog.csdn.net/u010953609/article/details/88085218
2、第一步就遇到问题了
-
$ sudo apt install mysql-server
直接蹦出来一个错误
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? -
打开以上 2 个文件看看
$ cd /var/lib/dpkg/
/var/lib/dpkg$ ll
-rw-r----- 1 root root 0 Nov 22 11:47 lock
-rw-r----- 1 root root 0 Dec 14 2018 lock-frontend$ sudo cat lock
$ sudo cat lock-frontend都是空的!
说是有另一个 apt 在操作?我也没有搞懂为什么!
准备重复一次之后再重启开看
因为这服务器很久没有用,所以,应该先 update 看看$ sudo apt update
$ sudo apt install mysql-server
他自己就好了!
难怪一般安装什么首先都 apt update! -
以前就知道 Ubuntu 1804 安装 mysql 之后没有初始密码的,所以这次特别留意(可惜当时专注操作设置密码,没有截图保留!)
记得中途要求设置管理员账号和密码,账号还是选择了 root ,设置密码的时候有一个选择密码强度,我选择了 strong (最强), 自然 123456 这种密码是不能过关了!所以设置了一个 wwzzhhXXXXXXXX 一大串,当时也没有注意就过去了!
这个密码问题为后面 phpmyadmin 买了一个大坑!
2、 确认安装结果
-
sudo netstat -tap | grep mysql
tcp 0 0 localhost.localdo:mysql 0.0.0.0:* LISTEN 7132/mysqld
-
ps -ef |grep mysql
mysql 7132 1 0 15:48 ? 00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid dhbm 7252 26865 0 15:51 pts/2 00:00:00 grep --color=auto mysql
-
dpkg -l |grep mysql
ii mysql-client-5.7 5.7.28-0ubuntu0.18.04.4 amd64 MySQL database client binaries ii mysql-client-core-5.7 5.7.28-0ubuntu0.18.04.4 amd64 MySQL database core client binaries ii mysql-common 5.8+1.0.4 all MySQL database common files, e.g. /etc/mysql/my.cnf ii mysql-server 5.7.28-0ubuntu0.18.04.4 all MySQL database server (metapackage depending on the latest version) ii mysql-server-5.7 5.7.28-0ubuntu0.18.04.4 amd64 MySQL database server binaries and system database setup ii mysql-server-core-5.7 5.7.28-0ubuntu0.18.04.4 amd64 MySQL database server binaries ii php7.2-mysql 7.2.24-0ubuntu0.18.04.1 amd64 MySQL module for PHP
-
which mysql
/usr/bin/mysql
3、本地命令行确认
$ mysql -uroot
开始直接就可以的,没有加 -p ,也没有提示我需要输入密码的
后面在折腾 phpmyadmin 的时候,重设了 root 登录的 plugin 方式
现在需要加上 -p
$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1023
Server version: 5.7.28-0ubuntu0.18.04.4 (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、安装 phpmyadmin
- 按照手册操作
sudo apt install phpmyadmin
操作过程中会提示选择按照 Apache 、httpd 等方式自动识别,因为我要使用 nginx ,所以一个都没有选
实际内容是西崽到了 /etc/phpmyadmin
这个版本是 4.6 的
-
自行下载安装 phpmyadmin 4.9
官网下载地址
https://www.phpmyadmin.net/files/
现在最新版是 5.0.0-alpha1sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.9.1/phpMyAdmin-4.9.1-all-languages.zip
修改配置
sudo cp config.sample.inc.php config.inc.php
sudo vim config.inc.php
$cfg['blowfish_secret'] = 'wzh20191119'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
-
配置 nginx 网站
这是第一次安装的 4.6版的
sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin第二次自己下载的就直接放在 /var/www 目录下了,无需再软连接
设置 phpmyadmin 网站
root /var/www/phpmyadmin49; -
测试
curl 127.0.0.1:999502 Bad Gateway 502 Bad Gateway
nginx/1.14.0 (Ubuntu) 浏览器测试同样出现 502 Bad Gateway
-
百度之后得知,root 账户的登录 plugin 方式 auth_socket ,php 连接不上!
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 |
| pmauser | mysql_native_password |
+------------------+-----------------------+
5 rows in set (0.00 sec)
mysql> update mysql.user set plugin=‘mysql_native_password’ where user=‘root’;
再次打开网站,可以了!
mysqli_real_connect(): (HY000/1045): Access denied for user ‘root’@‘localhost’ (using password: YES)
- root 密码死活不对!
当时安装过程中特意 cp 并记录了,不能错的!
安装过程中,2 次输入密码都确认的!
由于安装 mysql 是选择了密码强度 strong ,所以,想到可能当时没有大写字母,所以冲色号再一次带有大写字母的密码
update mysql.user set authentication_string=PASSWORD(‘M…带有大写字母的密码’) where user=‘root’;
使用新密码就 ok 了!
到底是安装过程中两次密码的时候他不认真确认,还是我当时没有仔细看提示呢?