系统版本信息:BigCloud Enterprise Linux For Euler release 21.10
MySQL版本信息:5.7.44 for linux-glibc2.12(x86_64)
1.官网根据需求下载安装包 MySQL下载链接
2.上传压缩包
3.解压压缩包
此处需要留意自己解压后的文件夹放在何处,这里我将其解压到自己创建的mysql文件夹内。
cd /opt
mkdir mysql #创建文件夹
tar -xvf /安装包路径 -C /opt/mysql #解压缩到指定文件夹
4. 添加mysql用户组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
5.构建目录结构并更改目录权限
#创建data、logs、tmp目录文件夹
mkdir /opt/data/mysql/mysql3306/{data,logs,tmp} -p
#更改目录权限为mysql
chown -R mysql:mysql /opt/data/mysql/mysql3306
6.初始化数据库
初始化数据库需要用到mysqld,其在mysql安装包下的bin目录,因此需要进入到bin目录下操作,也可使用绝对路径操作。
#此处bin目录与之前安装包路径有关
cd /opt/mysql/mysql-5.7.44-linux-glibc2.12-x86_64/bin
#初始化命令
#--basedir 解压后的安装包绝对路径
#--datadir 之前创建的data文件夹,为mysql数据存放目录,按照实际情况更改
mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.44-linux-glibc2.12-x86_64 --datadir=/opt/data/mysql/mysql3306/data
执行后会在最后一行看到root@localhost:XXX,其中XXX为root用户的初始密码,先保存。
7.配置my.cnf文件
my.cnf文件默认存放在/etc/my.cnf,但某些mysql版本中并没有该文件,需要自己创建,但要放在/etc下,后面启动mysql服务会自动执行该文件,不需要再指定文件路径。
[mysqld]
user=mysql
##basedir和datadir根据实际情况填写
basedir=/opt/mysql/mysql-5.7.44-linux-glibc2.12-x86_64
datadir=/opt/data/mysql/mysql3306/data
server_id=6
#端口一般为3306,如被占用请更改
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=lucifer [\\\\d]>
8.启动mysql服务
##启动mysql需要用到mysql.server,存放在/support-files/mysql.server,/support-files在mysql解压目录下
##启动命令
/opt/mysql/mysql-5.7.44-linux-glibc2.12-x86_64/support-files/mysql.server start
##启动成功口也可以设置开机自启动
##命令
cp /opt/mysql/mysql-5.7.44-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
##配置后即可使用service mysqld start启动mysql服务
9.修改mysql的root密码
使用之前的初始密码登陆数据库,但会被要求更改密码后才能使用数据库。
##登陆数据库,XXX为之前生成的初始密码
mysql -uroot -pXXX
##密码中包含特殊字符,则用引号包住密码:'YYY'
## \q退出数据库
##重设密码,XXX为旧密码,YYY为新密码
mysqladmin -uroot -pXXX password YYY
10.重新登录mysql即可
##使用新密码登陆可能出现ERROR 1045(28000)报错,root被拒绝访问
##解决方法:
1.重启数据库
systemctl restart mysqld
2.将新密码写入/etc/my.cnf文件
vi /etc/my.cnf
更改后的my.cnf
[mysqld]
##加入下面这行跳过权限检查
skip-grant-tables
user=mysql
basedir=/opt/mysql/mysql-5.7.44-linux-glibc2.12-x86_64
datadir=/opt/data/mysql/mysql3306/data
server_id=6
port=3306
socket=/tmp/mysql.sock
##客户端
[mysql]
##增加用户名和密码,YYY为新密码
user=root
password=YYY
socket=/tmp/mysql.sock
prompt=lucifer [\\\\d]>
3.重启数据库
systemctl restart mysqld
4.登陆
mysql -uroot -p
回车后需要输入密码,直接再次回车,无需输入密码。
进入数据库后输入use mysql
5.登陆过程中如果遇到ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
输入flush pribileges;
刷新配置即可。
6.后续登陆数据库直接使用mysql -uroot即可登陆。
以上均为最简版安装,后续需要增加配置可修改my.cnf文件。