1.环境准备,

①装好Rocky linux9.2系统,设置好IP


 nmcli con mod ens160 ipv4.addresses 192.168.0.106/24
 nmcli con mod ens160 ipv4.gateway 192.168.0.2
 nmcli con mod ens160 ipv4.dns 114.114.114.114
 nmcli con up ens160 
 nmcli con mod ens160 connection.autoconnect
 nmcli con mod ens160 connection.autoconnect yes

②关闭防火墙和selinux 

2.创建目录,上传数据库二进制包

mkdir -pv /app

yum -y install lrzsz    (安装上传下载工具,或者其他上传方式)

3.解压   mysql-wsrep-8.4.2-26.20-linux-x86_64.tar.gz

[root@localhost app]# tar -zxvf mysql-wsrep-8.4.2-26.20-linux-x86_64.tar.gz 

修改目录名称
[root@localhost app]# mv mysql-wsrep-8.4.2-26.20-linux-x86_64  mysql84226

参考企业按照安装路径和便于管理服务,把/app/mysql84226该目录移至/usr/local/下

4.创建数据库数据,日志等目录

mkdir -pv   /usr/local/mysql84226/{data,log,tmp}

5.创建mysql数据库服务用户和组,用于启动mysql服务和管理进程

groupadd mysql
useradd -g mysql mysql  

6.授权/usr/local/mysql84226目录为mysql用户所有

chown -R mysql.mysql  /usr/local/mysql84226/

7.新建/etc/my.cnf文件

vim /etc/my.cnf

# MySQL服务器程序的配置部分
[mysqld]
# MySQL服务器安装的基本目录
basedir=/usr/local/mysql84226
# MySQL服务器数据文件存放的目录
datadir=/usr/local/mysql84226/data
# MySQL服务器通信的socket文件位置
socket=/usr/local/mysql84226/tmp/mysql.sock
# MySQL服务器监听的端口号
port=3306
# 运行MySQL服务器的用户名
user=mysql
# 确保日志中使用系统时间
log_timestamps=SYSTEM
# 设置服务器校对集,utf8_unicode_ci不区分大小写
collation-server = utf8_unicode_ci
# 设置服务器默认字符集
character-set-server = utf8
lc-messages-dir=/usr/local/mysql84226/share/

# 指定默认的身份验证插件,以兼容老版本客户端
#default_authentication_plugin= mysql_native_password

# 此选项允许跳过权限表的认证,通常用于恢复或维护
#skip-grant-tables

# MySQL服务器安全启动的配置部分
[mysqld_safe]
# mysqld_safe进程的日志文件位置
log-error=/usr/local/mysql84226/log/mysqld_safe.err
# mysqld_safe的pid文件存放位置
pid-file=/usr/local/mysql84226/tmp/mysqld.pid
# mysqld_safe使用的socket文件位置
socket=/usr/local/mysql84226/tmp/mysql.sock
# MySQL服务器启动脚本来使用的配置
[mysql.server]
# 如果需要,可以取消注释以指定MySQL的安装目录
#basedir=/usr/local/mysql-8.4.2/mysql-8.4.2
# MySQL的数据文件存放目录
datadir=/usr/local/mysql84226/data
# MySQL的socket文件位置
socket=/usr/local/mysql84226/tmp/mysql.sock
# MySQL监听的端口号
port=3306
# 运行MySQL服务的用户名
user=mysql

8.初始化数据库
./bin/mysqld --user=mysql --basedir=/usr/local/mysql84226/       --initialize

可以看到数据库初始密码

9.生成systemctl 管理mysql数据库服务,引用support-files/mysql.server工具

vim /etc/systemd/system/mysqld.service

[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
#PIDFile=/usr/local/mysql/mysql8420/data/localhost.localdomain.pid
ExecStart=/usr/local/mysql84226/support-files/mysql.server start
#ExecReload=/bin/kill -s HUP $MAINPID
ExecReload=/usr/local/mysql84226/support-files/mysql.server restart
#ExecStop=/bin/kill -s QUIT $MAINPID
ExecStop=/usr/local/mysql84226/support-files/mysql.server stop
PrivateTmp=false

User=mysql
Group=mysql

[Install]

9.启动数据库服务

systemctl status mysqld

systemctl start mysqld

10.尝试登录,会报错,我这里不提前躲避,为了告诉大家怎么解决。

报错内容

./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

解决思路:可以通过报错信息看出,缺乏libncurses.so.5库文件,我们找下系统是不是真的没有这个文件,如果没有就要下载安装,如果有更高的版本,是否可以尝试向下兼容。

我们可以看到,系统包含libncurses.so.6和libncurses.so.6.2,既然这样,我们做个软连接

解决办法:

ln -s /lib64/libncurses.so.6 /lib64/libncurses.so.5

做了软连接,我们可以看到,刚才的报错,不存在了,但是还存在缺失另一个库文件,解题思路一样

报错内容

./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
解决办法:

ln -s /lib64/libtinfo.so.6 /lib64/libtinfo.so.5

到这里,两个错误都解决了,但是出现新的报错

报错内容:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解题思路:上面新建my.cof也提到了,MYSQL默认在/tmp/寻找mysql.sock,但是我们为了理所当然的安全,把mysq.sock放在/usr/local/mysql84226/tmp下,只要把这个文件弄过来即可,但是mysql.sock不能通过CP 命令复制,这里只能做软连接。

解决办法①:

ln -s   /usr/local/mysql84226/tmp/mysql.sock  /tmp/mysql.sock

可以看到,可以成功登录到数据库了,但是需要修改默认密码才能对数据库进一步操作。

报错内容:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方法②:

修改vim /etc/my.cnf

socket=/usr/local/mysql84226/tmp/mysql.sock

改为

socket=/tmp/mysql.sock即可

11.修改数据库密码

登录数据库,修改数据库密码:ALTER USER ‘username’@‘localhost’ IDENTIFIED BY ‘new_password’;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345@Admin';
Query OK, 0 rows affected (0.01 sec)

mysql> 

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部