一、准备工作
[root@localhost /]# rpm -qa | grep mysql
通过结果查看我们安装了 mysql-libs-5.2.2-5.el6_6.x86_64,那么卸载掉:
rpm -e --nodeps mysql-libs-5.2.2-5.el6_6.x86_64
再次验证是否还有:
rpm -qa | grep mysql
[root@k8s-node-4 lib64]# whereis mysql
mysql: /usr/lib64/mysql /usr/share/mysql
[root@k8s-node-4 lib64]# rm -rf /usr/share/mysql
[root@k8s-node-4 lib64]# rm -rf /usr/lib64/mysql
安装依赖文件:
yum install -y libaio-devel.x86_64
yum install -y numactl
下载安装包:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-.tar.gz
或者浏览器下载:
https://downloads.mysql.com/archives/community/
解压
tar -zxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
创建数据目录:
mkdir -p /data/mysql/data
touch /etc/my.cnf #新建配置文件
vim my.cnf
拷贝以下内容到my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
port = 3306 # 设置3306端口
socket=/data/mysql/mysql.sock # 套接字保存路径
basedir=/usr/local/mysql # 设置mysql的安装目录
datadir=/data/mysql/data # 设置mysql数据库的数据的存放目录
log-error=/data/mysql/error.log # 报错日志路径
pid-file=/data/mysql/mysql.pid
max_connections=1000 # 允许最大连接数
character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=1024M
[mysqld_safe]
socket=/data/mysql/mysql.sock
[client]
socket=/data/mysql/mysql.sock
[mysql.server]
socket=/data/mysql/mysql.sock
创建mysql用户组
groupadd mysql
useradd -g mysql mysql
passwd mysql
然后输入确认密码
修改mysql目录权限
chown -R mysql:mysql /usr/local/mysql # 修改mysql属主给mysql用户
chown -R mysql:mysql /data/mysql # 修改data属主给mysql用户
chmod -R 755 /data/mysql /usr/local/mysql # 写入权限
安装初始化mysql
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --initialize
会产生一个临时密码,一般在/data/mysql/的log日志文件中查看,找到这行:
2021-03-21T15:49:34.828798Z 1 [Note] A temporary password is generated for root@localhost: vgrd*kVE)3LY
最后那一段就是临时密码,要记好。
把/usr/local/mysql/support-files/mysql.server文件copy到/etc/init.d/mysqld中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
设置mysql环境变量
vim /etc/profile
export PATH=$PATH:/usr/bin/mysql/bin
source /etc/profile
重启MySQL
service mysql start
service mysql stop
service mysql restart
设置开机启动MySQL
cd /etc/init.d
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
service mysql restart
service mysql start
mysql -u root -p # 输入密码进入
或者
/usr/local/bin/mysql -u root -p # 输入上面的临时密码进入
登录成功后会提示让修改密码:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
设置密码:
alter user user() identified by "root";
输入新密码就完成了。
/etc/my.cnf 字段说明:
lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效:
character_set_server:设置数据库默认字符集,如果不设置默认为latin1
innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;