一、安装MySQL
1、使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本:
sudo apt-get update #更新软件源
sudo apt-get install mysql-server #安装mysql
上述命令会安装以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了mysql。
2、启动和关闭mysql服务器:
service mysql start
service mysql stop
3、确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:
sudo netstat -tap | grep mysql
4、进入mysql shell界面:
mysql -u root -p
这里因为Ubuntu的版本原因,安装中途没有让设置密码,所以会报错
5. 解决在Ubuntu 18.04 下安装mysql,没有初始密码,重设root密码的问题
因为在安装过程中没有提示用户设置密码,所以需要使用mysql自动创建的用户进行登录:
- 找到安装时默认生成的默认账户在终端上输入
sudo cat /etc/mysql/debian.cnf
- 用得到的账户和密码登录mysql
这里一定要提一嘴,这里的密码一定要用你自己查到的那个密码,因为那是随机生成的
mysql -u debian-sys-maint -p
- 然后就是修改密码了,跟原来的也有一点区别
1)、use mysql
; #连接到mysql数据库
2)、 select Host,user,authentication_string,plugin from user;
2)、update mysql.user set authentication_string=password("root") where user="root" and Host ="localhost";
# 密码为root
3)、update user set plugin="mysql_native_password";
4)、flush privileges;
5)、quit;
过程如下
6. 重启mysql服务器后,直接可以用root账户进行登录了![在这里插入图片描述](https://img-blog.csdnimg.cn/28e1236da5a74bbb88a33a892fecf445.png)
注意分号和引号的问题:
Mysql修改用户密码报错ERROR 1054 (42S22): Unknown Column ‘Password’ In 'Field List’解决办法
改密码执行时,可能执行后报错 ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’
错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
此外要注意英文的双引号和分号!!
所以请使用一下命令:
>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.18-log MySQL Community Server (GPL)
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> use mysql;
Database changed
mysql> select User from user; #此处为查询用户命令
+-----------+
| User |
+-----------+
| ******* |
| mysql.sys |
| root |
+-----------+
3 rows in set (0.00 sec)
mysql> update user set password=password("*******") where user="*******"; #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update mysql.user set authentication_string=password('*******') where user='*******'; #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges; #立即生效
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
…………………………
mysql>