先查看Linux是否有安装mysql。
rpm -qa | grep mysql
如果有就先卸载,作者的linux是centos7-2009版本没有mysql,卸载截图就不贴了。
rpm -e --nodeps xxx
查看系统是否安装了mariadb。
rpm -qa | grep mariadb
如果有就先卸载,作者这里只有一个,如果有多个就需要都卸载了。
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
卸载完成后再查询一下mysq和mariadb是否全部卸载完成。这一步一定要确保全部卸载完成,不然后面安装mysql会出现没必要的问题。
上传mysql压缩包,然后解压
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
解压完成后将mysql文件夹移动到/usr/local目录下,并重命名一下。
mv mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql5.7.35
查看是否存在mysql组,没有就创建。
cat /etc/group | grep mysql
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
进入mysql文件夹下,创建data目录
cd mysql-5.7.35
mkdir data
将mysql-5.7.35的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql-5.7.35/
在mysql-5.7.35/support-files目录下创建my_default.cnf
cd support-files/
vim my_default.cnf
#内容如下
[mysqld]
#设置mysql的安装目录
basedir =/usr/local/mysql-5.7.35
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql-5.7.35/data
#设置端口
port = 3306
socket = /tmp/mysql.sock
#设置字符集
character_set_server=utf8
#日志存放目录
log-error = /usr/local/mysql-5.7.35/data/mysqld.log
pid-file = /usr/local/mysql-5.7.35/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
将my_default.cnf文件拷贝到/etc目录下,并重命名为my.cnf,选择覆盖。
mv my_default.cnf /etc/my.cnf
初始化mysql
#进入到mysql bin目录
cd /usr/local/mysql-5.7.35/bin
#初始化mysql
./mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql-5.7.35/ --datadir=/usr/local/mysql-5.7.35/data/ --initialize
查看mysql初始密码
cat /usr/local/mysql-5.7.35/data/mysqld.log
启动mysql
#先将服务拷贝到/etc/init.d/mysql下
cp /usr/local/mysql-5.7.35/support-files/mysql.server /etc/init.d/mysql
#启动mysql
service mysql start
登录mysql,先进入mysql bin目录,执行./mysql -uroot -p
登录成功后,修改密码
set password=password('root');
grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;