**
Centos7安装mysql8.21
**
一、缷载maridb,一般centos都会预装maridb,这个可能会与mysql冲突,先卸载它
查看是否自带mariadb数据库
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
rpm -qa|grep mariadb
检查卸载结果,如果输出为空,表示卸载完毕
二、安装依懒我
查找libaio
[root@pcbsrv57077 ~]# rpm -qa|grep libaio
安装libaio
[root@pcbsrv57077~]# yum -y install libaio # 检查numactl
[root@pcbsrv57077~]# rpm -qa|grep numactl # 安装numactl
[root@pcbsrv57077~]# yum -y install numactl
三、下载mysql安装包,上传到Centos7系统
链接:https://pan.baidu.com/s/1he4uKFGxByI3Qr7FfuRIVA?pwd=yanz
提取码:yanz
四、、解压文件
tar -zxvf mysql-8.0.21-el7-x86_64.tar.gz -C /usr/local/
cd /usr/local/
mv mysql-8.0.21-el7-x86_64/ mysql
五、用户权限
创建用户组
[root@node2 local]# groupadd mysql
创建用户
[root@node2 local]# useradd -g mysql mysql
更改mysql目录的所属
[root@node2 local]# chown -R mysql:mysql /usr/local/mysql
六、创建配置文件
vi /etc/my.cnf
客户端配置
[client]
port = 3306
socket = /usr/local/mysql/mysql.sock
default-character-set = utf8mb4
服务端配置
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/error.log
pid-file = /usr/local/mysql/mysqld.pid
port = 3306
socket = /usr/local/mysql/mysql.sock
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = ‘SET NAMES utf8mb4’
表名是否区分大小,默认是0,表区分大小写;1代表不区分大小写,以小写存储
lower_case_table_names = 1
七、把配置文件授权给mysql用户
chown mysql:mysql /etc/my.cnf
七、mysql初始化并启动
[root@pcbsrv57077 local]# /usr/local/mysql/bin/mysqld --initialize
从打印出的日志可以看到,mysql自动生成了一个初始密码 ;?o*wnfal4Eq ,就在日志最后面.把这个密码记下来,一会登录要用.
八、启动数据库
/usr/local/mysql/support-files/mysql.server start
九、启动客户端,连接数据库、修改密码
/usr/local/mysql/bin/mysql -p
输入密码刚刚那个临时密码
修改密码
set password for root@localhost = ‘Admin##2024!’;
允许远程登录
use mysql;
允许root远程登录
update user set user.Host=‘%’ where user.User=‘root’;
刷新
flush privileges;
exit
十、优化设置软链接和开机自动启动
ln -s /usr/local/mysql/bin/mysql /usr/bin
以后就可以直接这进入数据库
mysql -uroot -p
以后可以直接用mysql启动客户端了
优化启动命令
软连接到系统启动目录下
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
开启服务
[root@node1 ~]# systemctl start mysql
关闭服务
[root@node1 ~]# systemctl stop mysql
重启服务
[root@node1 ~]# systemctl restart mysql
查看服务状态
[root@node1 ~]# systemctl status mysql
#查看进程
ps -e | grep mysql