工作的原因要使用最新的麒麟20.04系统,这个系统是近期推出的,mysql安装其实可以通过dev和apt的方式快速安装,采用tar解压的二进制方式安装是因为需要模拟无网环境安装,所以就使用了这一种比较复杂的方式。网上的教程都是centOS的比较多,所以就出了这篇麒麟系统的,我装了三次总结出来的防坑版本,只要好好跟着步骤,你也一定也可以装好!
下列教程中紫色的全都是系统指令,红色、橙色、绿色交叉使用是为了避免视觉疲劳
系统属性:系统是优麒麟20.04,实验环境是Macbook的Parallels Desktop虚拟机15.1.3版本。
点击前往下载Mysql
首先换成 root 用户,经常sudo很繁琐,读者根据自己的需求来,如果是普通用户,提示因权限被拒绝,加上sudo即可。将mysql安装包放到 /usr/local ,该路径是linux软件安装的位置,当然是可以改变的,但是要记住路径,配置环境需要用到这个路径。
1. 进入 /usr/local 下
root@kyrin:/usr/local# cd /usr/local
2. tar -zxvf 软件包全名 该命令是解压安装包,下载的版本不一样名字不一样,只要打出my然后用Tab键盘补充名字就好了
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的环境变量,有这个就说明成功了
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=4163mtu 1500
inet 10.211.55.6 为了不让读者错乱下面的信息就不放出来了
虚拟机分配的IP就是10.211.55.6
开始用Navicat远程数据库
读者们会发现连接被拒绝,有点惨!接下来就要做一个步骤,就能连接上。
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
再次远程数据库,连接成功,教程结束。