一、前言

工作的原因要使用最新的麒麟20.04系统,这个系统是近期推出的,mysql安装其实可以通过dev和apt的方式快速安装,采用tar解压的二进制方式安装是因为需要模拟无网环境安装,所以就使用了这一种比较复杂的方式。网上的教程都是centOS的比较多,所以就出了这篇麒麟系统的,我装了三次总结出来的防坑版本,只要好好跟着步骤,你也一定也可以装好!

下列教程中紫色的全都是系统指令,红色、橙色、绿色交叉使用是为了避免视觉疲劳

系统属性:系统是优麒麟20.04,实验环境是Macbook的Parallels Desktop虚拟机15.1.3版本。


二、Mysql下载

点击前往下载Mysql

麒麟 装MYSQL 中标麒麟安装mysql5.7_配置文件


三、Mysql安装

首先换成 root 用户,经常sudo很繁琐,读者根据自己的需求来,如果是普通用户,提示因权限被拒绝,加上sudo即可。将mysql安装包放到  /usr/local ,该路径是linux软件安装的位置,当然是可以改变的,但是要记住路径,配置环境需要用到这个路径。

1.  进入  /usr/local 

root@kyrin:/usr/local# cd /usr/local

  tar -zxvf 软件包全名

root@kyrin:/usr/local# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

3.  解压好后给文件夹重命名  mv 文件夹名 mysql

root@kyrin:/usr/local# mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql

4.  添加用户组

root@kyrin:/usr/local# groupadd mysql

5.  添加用户

root@kyrin:/usr/local# useradd -r -g mysql mysql

6.  更新系统依赖环境

root@kyrin:/usr/local# apt update

7.  下载libaio依赖

root@kyrin:/usr/local# apt-get install libaio*

8.  下载libncurses依赖

root@kyrin:/usr/local/mysql# apt-get install libncurses*

解压缩后会消耗 195 MB 的额外空间。
您希望继续执行吗? [Y/n]  y

出现这段文字记得在控制台输入y,大小写不限,下载需要时间,耐心等待

9.  配置mysql的配置信息

root@kyrin:/usr/local# vi /etc/my.cnf

注意:如果是新系统的话要执行下面的步骤,不然你会发现你在vi编辑器中无法删除/无法上下左右移动光标,如果你的编辑器正常,就可以忽略下面的步骤了。

root@kyrin:/usr/local# vi /etc/vim/vimrc.tiny

找到倒数第二行

set compatible   改为  set nocompatible

在  set nocompatible  的下一行加上

set backspace=2

完成上面步骤以后就可以愉快地在Vi编辑器内玩耍了

10.  紧接着编辑mysql配置文件

root@kyrin:/usr/local# vi /etc/my.cnf

11.  定义进本配置信息,建议手打一次,打完会加深你的理解

[mysql]
default-character-set=utf8
socket=/tmp/mysql.sock
[mysqld]
port=3306
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=250
character-set-server=utf8
default-storage-engine=INNODB
max_allowed_packet=16M

保存以后,配置文件搞定!

12.  进入/usr/local/mysql目录,创建一个data文件夹

root@kyrin:/usr/local# cd /usr/local/mysql
root@kyrin:/usr/local/mysql# mkdir data

13.  把mysql文件夹的所属所属用户和用户组改成mysql

root@kyrin:/usr/local/mysql# chown -R mysql:mysql ./

14.  初始化数据库并获得初始密码

root@kyrin:/usr/local/mysql# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

回车后控制台出现以下信息:

2020-06-16T01:32:44.487025Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
 2020-06-16T01:32:44.643015Z 0 [Warning] InnoDB: New log files created, LSN=45790
 2020-06-16T01:32:44.678504Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
 2020-06-16T01:32:44.740057Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 471bf21e-af71-11ea-98b0-001c4236c8ae.
 2020-06-16T01:32:44.741543Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
 2020-06-16T01:32:44.742277Z 1 [Note] A temporary password is generated for root@localhost: %Myh#Qc3hs3s

%Myh#Qc3hs3s 

15.  配置系统级环境变量

root@kyrin:/usr/local/mysql# vi /etc/profile

16.  找个空白位置添加以下内容,最后保存

PATH=$PATH:/usr/local/mysql/bin
export PATH

17.  更新后重新加载一下配置文件

root@kyrin:/usr/local/mysql# source /etc/profile

18.  检验是否添加成功:

root@kyrin:/usr/local/mysql# echo $PATH
 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/mysql/bin

绿色部分就是mysql的环境变量,有这个就说明成功了


四、登录mysql

1.  进入/usr/local/mysql/support-files目录下

root@kyrin:/#  cd /usr/local/mysql/support-files

2.  启动mysql服务

root@kyrin:/usr/local/mysql/support-files# sh mysql.server start

注意!有些博主的命令是 service mysql start,但是在这个新版麒麟不生效,我也不知道为什么!

3.  登录mysql

root@kyrin:/usr/local/mysql/support-files# mysql -u root -p

4.  输入密码即可进入mysql,判断自己有没有进入mysql就是看命令台

mysql>

这样的命令台就是mysql的命令台

5.  把默认登陆密码修改成自己想要的密码

mysql> SET PASSWORD=PASSWORD('2583');

引号里面就是自己想要的密码

6.  默认的mysql是不允许远程访问的,因此我们要授权

mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option;

因为这个数据库是安装在虚拟机,现在我用我本机的Navicat远程连接一下我的数据库

7.  我先退出数据库控制台

mysql> exit

8.  远程连接数据库需要知道数据库的IP地址,所以看一下虚拟机的IP

root@kyrin:/# ifconfig
enp0s5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.211.55.6 为了不让读者错乱下面的信息就不放出来了

虚拟机分配的IP就是10.211.55.6

开始用Navicat远程数据库

 

麒麟 装MYSQL 中标麒麟安装mysql5.7_mysql_02

 

读者们会发现连接被拒绝,有点惨!接下来就要做一个步骤,就能连接上。

 

麒麟 装MYSQL 中标麒麟安装mysql5.7_麒麟 装MYSQL_03

 

9.  回到/usr/local/mysql/support-files目录下

root@kyrin:/#  cd /usr/local/mysql/support-files

10.  关闭mysql服务

root@kyrin:/usr/local/mysql/support-files# sh mysql.server stop

11.  打开mysql的配置文件

root@kyrin:/usr/local/mysql/support-files#  vi /etc/my.cnf

12.  在最后一行后添加以下内容:

skip-grant-tables

13.  启动mysql服务

root@kyrin:/usr/local/mysql/support-files# sh mysql.server start

14.  无密码登录,不要带-p参数

root@kyrin:/usr/local/mysql/support-files# mysql -u root

15.  使用mysql数据库,再次修改密码

mysql> use mysql;
 Reading table information for completion of table and column names
 You can turn off this feature to get a quicker startup with -ADatabase changed
 mysql> update mysql.user set authentication_string=password('2583') where user='root';
 Query OK, 1 row affected, 1 warning (0.01 sec)
 Rows matched: 2  Changed: 1  Warnings: 1

16.  修改成功后退出mysql控制台

mysql> exit
Bye

17.  打开mysql的配置文件

root@kyrin:/usr/local/mysql/support-files# vi /etc/my.cnf

18.  把 skip-grant-tables这段话注释掉或者删除

19.  关闭mysql服务

root@kyrin:/usr/local/mysql/support-files# sh mysql.server stop

20.  重新打开mysql服务

root@kyrin:/usr/local/mysql/support-files# sh mysql.server start

再次远程数据库,连接成功,教程结束。

麒麟 装MYSQL 中标麒麟安装mysql5.7_麒麟 装MYSQL_04