目录
一、前期准备工作
1. 确保已成功安装麒麟系统openKylin。
2. MySQL安装准备
3. MySQL安装
解压缩安装包并进入工作区:
cd /usr/local/mysql
授予权限
配置[mysqld]、[mysqld_safe]、[client]部分
设置开机自启
配置MySQL的环境变量
立即使新环境变量生效
重新启动服务
验证安装
修改密码
测试
openKylin是基于麒麟操作系统的开源项目。本文将分享如何在openKylin操作系统上安装MySQL,帮助您在麒麟系统中建立自己的数据库服务。
二、麒麟系统安装
1. MySQL安装准备
安装包:jdk-8u301-linux-x64.tar.gz
通过以下链接下载MySQL安装包:https://www.mysql.com/downloads/
下载文件有两种方法:一种是下载至系统后传输至服务器上的openKylin,另一种是直接在麒麟系统中下载。由于我已安装SSH工具(我使用的是FinalShell),因此我在Windows系统下载后传输至服务器。在接下来的截图演示中,我将继续使用SSH工具,如有疑问,请私信交流学习。
mkdir /home/app
cd /home/app
ls
我使用的是64位版本,如果您觉得下载麻烦,需要文件,请在评论区留下邮箱或私信。
三. MySQL安装
解压缩MySQL安装包
将下载的MySQL安装包解压缩到指定目录
cd /home/app
tar -zxvf /home/app/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
此命令使用tar工具解压缩下载的MySQL安装包。各参数含义如下:
-z:使用gzip解压缩
-x:解压tar文件
-v:显示解压过程信息
-f:指定tar文件
mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql
此命令将刚解压的MySQL安装目录移动到/usr/local/mysql。/usr/local/mysql是标准目录,用于存放系统管理员安装的本地应用程序。
mv是“move”的缩写,用于移动文件或目录。此命令将mysql-5.7.44-linux-glibc2.12-x86_64目录重命名为/usr/local/mysql。
进入工作区:cd /usr/local/mysql
cd /usr/local/mysql
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
此命令用于创建名为mysql的新用户组。用户组是Linux系统中用于控制用户权限的一种机制。新建的用户组将用于控制对MySQL数据库的访问。
groupadd是“group add”的缩写,用于创建新用户组。mysql是要创建的用户组名称。
useradd -r -g mysql -s /bin/false mysql
此命令用于创建名为mysql的新用户,并将其添加到刚创建的mysql用户组中。此用户将用于运行MySQL数据库服务。
useradd是“user add”的缩写,用于创建新用户。各参数含义如下:
-r:创建系统用户而不是普通用户。系统用户没有家目录,通常用于运行服务。
-g:指定用户的主组,这里是mysql组,使用户mysql属于mysql组。
-s:指定用户的shell,这里是/bin/false,表示用户不能登录shell,通常用于运行服务的用户。
mysql是要创建的用户名。
创建文件夹。此处略过。
授予权限
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql是Linux命令,用于更改文件系统中文件和目录的所有者。各参数含义如下:
chown:change owner的缩写,用于更改文件或目录的所有者。
-R:递归更改指定目录及其所有子目录和文件的所有者。
mysql:mysql:新所有者为用户mysql,属组也为mysql。
/usr/local/mysql:要更改所有者的目录。
此命令的作用是将/usr/local/mysql目录及其所有内容的所有者更改为mysql用户,并将属组设置为mysql组。
cd /usr/local/mysql
mkdir /usr/local/mysql/data
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize用于初始化MySQL数据库安装。通常在安装过程中或设置新的MySQL实例时执行。以下是各选项的解释:
--user=mysql:指定MySQL服务器以mysql用户身份运行。这是通过useradd -r -g mysql -s /bin/false mysql命令创建的用户。
--basedir=/usr/local/mysql:告知MySQL服务器其自身文件(如二进制文件、配置文件和插件)的位置。在此例中,基本目录设置为/usr/local/mysql。
--datadir=/usr/local/mysql/data:指定实际数据库文件存储的目录。在此例中,data目录是mysql安装目录(/usr/local/mysql)的子目录。
--initialize:初始化数据库。它创建初始数据库文件,设置第一个超级用户帐户以及其他一些设置。这是在首次安装MySQL服务器时执行的一次性操作。
请记住,在运行完成后会生成一个密码,如此处的密码q#lknTosf8f-,请将其复制,稍后会用到。
修改配置文件:
sudo vim /etc/my.cnf
[mysqld]部分
character_set_server=utf8:设置服务器默认字符集为UTF-8。UTF-8是一种广泛使用的字符集,支持多种语言字符。
init_connect='SET NAMES utf8':客户端连接到服务器时,自动将客户端字符集设置为UTF-8。
basedir=/usr/local/mysql:指定MySQL服务器的基本目录,即MySQL安装位置。
datadir=/usr/local/mysql/data:指定MySQL数据库数据存储目录。
socket=/usr/local/mysql/mysql.sock:设置MySQL服务器的套接字文件路径。套接字是网络通信机制,用于本地计算机上不同程序之间的通信。
lower_case_table_names = 1:设置表名和列名不区分大小写。在某些情况下有助于兼容性,但通常建议使用小写字母创建表和列以保持一致性。
bind-address = 0.0.0.0:允许MySQL服务器接受来自任何IP地址的连接。通常用于开发和测试环境,但在生产环境中,可能希望限制连接来自特定IP地址。
[mysqld_safe]部分
log-error=/var/log/mysqld.log:设置MySQL服务器错误日志路径。此日志文件用于记录MySQL服务器运行时出现的错误。
pid-file=/usr/local/mysql/data/mysqld.pid:设置MySQL服务器进程ID文件路径。此文件包含MySQL服务器的进程ID,可在服务器启动和停止时使用。
[client]部分
socket=/usr/local/mysql/mysql.sock:指定客户端连接到MySQL服务器时使用的套接字文件路径。此设置通常与[mysqld]部分中的socket设置相同。
default-character-set=utf8:设置客户端默认字符集为UTF-8。与服务器端设置匹配,确保客户端与服务器之间的字符集一致。
这些设置有助于确保MySQL服务器和客户端之间的通信顺畅,并确保数据以正确的字符集存储和传输。
cp ./support-files/mysql.server /etc/init.d/mysqld
cp ./support-files/mysql.server /etc/init.d/mysqld的作用是将MySQL安装包中的启动脚本mysql.server复制到系统的初始化脚本目录/etc/init.d/中,并重命名为mysqld。
sudo vim /etc/init.d/mysqld
使用?查找basedir设置,具体如下图:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
设置开机自启
sudo systemctl enable mysqld
sudo systemctl enable mysqld用于在支持Systemd的Linux系统上设置MySQL服务为开机自启。
配置MySQL的环境变量
sudo vim /etc/profile
/etc/profile是Linux系统中的重要文件,是所有用户登录时执行的个人配置脚本的父脚本。主要用于设置系统的环境变量,这些环境变量会影响系统中的所有用户。
export PATH=$PATH:/usr/local/mysql/bin
立即使新的环境变量生效
source /etc/profile
重新启动服务
service mysqld restart
验证安装
mysql -uroot -p
如果出现错误:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
执行以下修复安装:
sudo apt-get install libncurses5
输入之前记录的密码:q#lknTosf8f-
修改密码
这里使用123456作为密码,请自行修改:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
测试
更改密码后,使用工具进行连接测试,确保一切正常。