一、将透明大页关闭
参考文档: https://blog.51cto.com/u_3557740/4955717 https://mp.weixin.qq.com/s/Z5ktp3uZdkE9WfOi28bfow
二、快速安装步骤
useradd mysql -s /sbin/nologin -M
mkdir /data/mysql8.4/{data,tmp,logs,undolog,binlog,etc} -p
chown -R mysql.mysql /data/mysql8.4/
wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz
tar -Jxf mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz -C /usr/local/
ln -sv mysql-8.4.3-linux-glibc2.28-x86_64 mysql
ln -sv /usr/local/mysql/bin/* /usr/local/sbin/
三、初始化MySQL8.4.3
初始化过程中采用下面的参数,不会生成MySQL登录密码,启动MySQL服务 可以无密码直接登录,这样不安全,官方建议采用--initialize 参数进行初始化,初始化完成后会在error.log文件中生成temporary password my.cnf配置文件参数参考地址: https://blog.51cto.com/wujianwei/12736831
--initialize-insecure
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --datadir=/data/mysql8.4/data/
或者
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --datadir=/data/mysql8.4/data/
四、MySQL启动命令
启动MySQL服务:
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf&
或者 /usr/local/mysql/bin/mysqld &
或者采用启动脚本启动:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql8.4
chkconfig mysql8.4 on
启动MySQL服务: /etc/init.d/mysql8.4 start 或者 systemctl start mysql8.4.service
关闭MySQL服务: /etc/init.d/mysql8.4 stop 或者 systemctl stop mysql8.4.service
重启MySQL服务: /etc/init.d/mysql8.4 restart 或者 systemctl restart mysql8.4.service
查看MySQL运行状态: /etc/init.d/mysql8.4 status 或者 systemctl status mysql8.4.service
五、初次登录MySQL服务报错
初次登录MySQL服务时报错:
[root@oracle mysql8.4]# /usr/local/mysql/bin/mysql -uroot -p
/usr/local/mysql/bin/mysql: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory
解决办法:
ln -s /usr/lib64/libncurses.so.5 /usr/lib64/libncurses.so.6
ln -s /usr/lib64/libtinfo.so.5 /usr/lib64/libtinfo.so.6
六、设置新的密码
[root@oracle ~]# grep 'temporary password' /data/mysql8.4/logs/error.log
2024-12-04T15:54:59.314791+08:00 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ZT;:j*lr=5h1
[root@oracle ~]# mysql -uroot -p'ZT;:j*lr=5h1'
设置新的密码:
root@mysqldb 16:02: [(none)]> alter user() identified by '123456';
七、进行免密码交互设置来登录MySQL服务
[root@oracle ~]# cat .my.cnf
[client]
user=root
password=123456
host=localhost
socket=/data/mysql8.4/mysql.sock
查看版本号:
[root@oracle ~]# mysql -e select version();
+-----------+
| version() |
+-----------+
| 8.4.3 |
+-----------+
关闭mysql服务: mysql -e "shutdown;"