目录

一、安装MYSQL之前要先换源

二、安装MYSQL

1、安装

2、安装完成

3、安装后无法登陆

3.1 原因

3.2 登陆后切换database

3.3 修改密码(注意这里账号和密码是双引号)

3.4查看一下用户

3.5然后进行刷新使得配置生效

3.6 退出

3.7 重启

三、mysql使用测试


一、安装MYSQL之前要先换源

1.备份系统之前的源,也可以不备份,将之前的源注释掉

cp /etc/apt/sources.list /etc/apt/sources.list.bak

2.修改源文件/etc/apt/sources.list

vim /etc/apt/sources.list

将原来的内容删除,将下面的源内容粘贴上。

3.这里推荐比较好的两个国内源

3.1阿里源(arm64,速度快,推荐)

deb http://mirrors.aliyun.com/ubuntu-ports/ xenial maindeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial maindeb http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates maindeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates maindeb http://mirrors.aliyun.com/ubuntu-ports/ xenial universedeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial universedeb http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates universedeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-updates universedeb http://mirrors.aliyun.com/ubuntu-ports/ xenial-security maindeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-security maindeb http://mirrors.aliyun.com/ubuntu-ports/ xenial-security universedeb-src http://mirrors.aliyun.com/ubuntu-ports/ xenial-security universe

3.2 华为源(arm64,速度快,二者选其一)

deb https://repo.huaweicloud.com/ubuntu-ports/ bionic main restricted universe multiversedeb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic main restricted universe multiversedeb https://repo.huaweicloud.com/ubuntu-ports/ bionic-security main restricted universe multiversedeb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-security main restricted universe multiversedeb https://repo.huaweicloud.com/ubuntu-ports/ bionic-updates main restricted universe multiversedeb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-updates main restricted universe multiversedeb https://repo.huaweicloud.com/ubuntu-ports/ bionic-backports main restricted universe multiversedeb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-backports main restricted universe multiverse## Not recommended# deb https://repo.huaweicloud.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse# deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse

4.更新仓库

apt-get update

4.1处理报错

可能出现报错

由于没有公钥,无法验证下列签名…

以下命令解决:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 40976EAF437D05B5 3B4FE6ACC0B21F32

5.清除软件仓库缓存

apt-get clean

6.更新软件仓库

apt-get update

完成,可以安装MYSQL了

二、安装MYSQL

1、安装

sudo apt-get install mysql-server//服务端sudo apt-get install mysql-client//客户端sudo apt-get install libmysqlclient-dev//程序编译时链接的库

2、安装完成

安装完成之后dpkg命令查看状态

dpkg -l | grep mysql

输出以下信息则安装成功

iimysql-client-5.75.7.39-0ubuntu0.18.04.2 arm64MySQL database client binariesiimysql-client-core-5.7 5.7.39-0ubuntu0.18.04.2 arm64MySQL database core client binariesiimysql-common5.8+1.0.5 allMySQL database common files, e.g. /etc/mysql/my.cnfiimysql-server5.7.39-0ubuntu0.18.04.2 allMySQL database server (metapackage depending on the latest version)iimysql-server-5.75.7.39-0ubuntu0.18.04.2 arm64MySQL database server binaries and system database setupiimysql-server-core-5.7 5.7.39-0ubuntu0.18.04.2 arm64MySQL database server binaries

使用如下命令启动mysql

service mysql start

启动后使用如下命令查看状态

sudo netstat -anp | grep mysql

显示如下说明启动成功:

tcp6 00 :::3306 :::*LISTEN27608/mysqldunix2[ ACC ] STREAM LISTENING 648125 27608/mysqld /var/run/mysqld/mysqld.sockunix3[ ] STREAM CONNECTED 648111 27608/mysqld

使用命令进行登陆

mysql -u root -p

输入密码,进行登陆,如果之前没有设置密码请看第3步

aaron@aaron-Raytine-PC:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.30-0ubuntu0.18.04.1 (Ubuntu)
Copyright © 2000, 2020, 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、安装后无法登陆

3.1 原因

原因一(大部分):

你是root安装的: 在本机命令行下输入: mysql -uroot 就可以直接登录,然后修改用户名密码啥的

原因二:

使用mysql -u root -p命令但是不知道root密码是因为之前没有设置,这个时候进行环境配置,设置root密码。

1、首先,进行忽略密码登陆,打开配置文件

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

2、在最后加入skip-grant-tables

## Read the manual, too, if you want chroot!# chroot = /var/lib/mysql/## For generating SSL certificates I recommend the OpenSSL GUI "tinyca".## ssl-ca=/etc/mysql/cacert.pem# ssl-cert=/etc/mysql/server-cert.pem# ssl-key=/etc/mysql/server-key.pemskip-grant-tables-- 插入 -- 

3、保存退出

4、重启以下mysql服务

sudo service mysql stop

sudo service mysql start

5、重新登陆

mysql -u mysql

进行3.2步骤,所有步骤执行完注释掉skip-grant-tables

原因三:没有把之前的mysql卸载干净

彻底删除MySQL

在删除mysql前 须要先删除一下 /var/lib/mysql 还有 /etc/mysqlubuntu

先停止mysql服务

systemctl stop mysql

须要输入如下几条命令

sudo rm /var/lib/mysql/ -R sudo rm /etc/mysql/ -Rsudo apt-get autoremove mysql* --purgesudo apt-get remove apparmor

确保没有mysql的文件夹可忽略此步骤

sudo find / -name mysql

再次安装

sudo apt-get install mysql-server//服务端sudo apt-get install mysql-client//客户端sudo apt-get install libmysqlclient-dev//程序编译时链接的库

3.2 登陆后切换database

登录

~$ sudo mysql -u root -pEnter password: 

直接回车

Welcome to the MySQL monitor.Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.7.39-0ubuntu0.18.04.2 (Ubuntu)Copyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

换为database

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

3.3 修改密码(注意这里账号和密码是双引号)

mysql> update user set authentication_string=PASSWORD("123456") where user="root";Query OK, 1 row affected, 1 warning (0.00 sec)Rows matched: 1Changed: 1Warnings: 1

3.4查看一下用户

select user,host from mysql.user;

出现以下信息则配置完成

mysql> select user,host from mysql.user;+------------------+-----------+| user | host|+------------------+-----------+| debian-sys-maint | localhost || mysql.session| localhost || mysql.sys| localhost || root | localhost |+------------------+-----------+4 rows in set (0.00 sec)

3.5然后进行刷新使得配置生效

flush privileges;

3.6 退出

quit

3.7 重启

sudo service mysql restart

三、mysql使用测试

1、建立一个数据库

mysql> create database joyrun;Query OK, 1 row affected (0.00 sec)

2、查看当前数据库

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

3、建立一个表

mysql> use joyrunDatabase changedmysql> create table tbl_run(id int,name varchar(5),primary key (id));Query OK, 0 rows affected (0.01 sec)

4、查看表的结构

mysql> desc tbl_run;+-------+------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+------------+------+-----+---------+-------+| id| int(11)| NO | PRI | NULL| || name| varchar(5) | YES| | NULL| |+-------+------------+------+-----+---------+-------+2 rows in set (0.00 sec)

5、修改字节长度

mysql> alter table tbl_run modify column name varchar(20);Query OK, 0 rows affected (0.01 sec)Records: 0Duplicates: 0Warnings: 0mysql> desc tbl_run;+-------+-------------+------+-----+---------+-------+| Field | Type| Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id| int(11) | NO | PRI | NULL| || name| varchar(20) | YES| | NULL| |+-------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)

6、现在表中不能添加中文字段,修改字符集后才可以

修改库字符集:alter database joyrun character set utf8;修改表字符集:alter table tbl_run character set utf8;修改字段字符集:alter table tbl_run change name name varchar(20) character set utf8;

7、增加一条数据

mysql> insert into tbl_run (id,name) values (1,'xiaoming');Query OK, 1 row affected (0.01 sec)mysql> select * from tbl_run;+----+----------+| id | name |+----+----------+|1 | xiaoming |+----+----------+1 row in set (0.00 sec)