一、检查是否有历史版本mysql,并进行卸载
1、使用rpm -qa | grep mysql确认安装的mysql
如果存在,使用yum remove+旧版本mysql进行卸载
如:yum remove mysql-libs-5.1.71-1.el6.x86_64
2、使用find / -name mysql找到所以mysql
rm -rf 上边查找到的路径,多个路径用空格隔开 #或者下边一条命令即可 find / -name mysql|xargs rm -rf 如图:
二、下载mysql5.7.30tar包
下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
可以使用wget直接下载到对用的文件夹:wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 如图:
三、解压tar包进行安装
1、将tar包移动到/usr/local目录下,进入/usr/local
sudo tar -zvxf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
重新命名mysql-5.7.30-linux-glibc2.12-x86_64 为mysql
mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql
2、创建mysql用户
用groups mysql 命令确认是否存在,如果存在不需创建
如果不存在使用sudo groupadd mysql 添加mysql组,
使用命令sudo useradd -r -g mysql mysql给mysql组中添加mysql用户
3、创建数据库目录
mkdir -p /var/mysql/data
chown -R mysql:mysql /var/mysql
4、初始化数据库
切换到mysql安装路径执行
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysql/data
异常:在我安装的时候发生bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
处理方法:sudo yum install -y libaio
再次执行bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysql/data初始化数据库
初始化成功后记录下如图红框中的密码
5、把mysql加入搜索路径
vi /etc/profile
source /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=${MYSQL_HOME}/bin:$PATH
6、配置MySQL
修改mysql配置文件my.cnf
修改后的文件
[mysqld]
datadir=/var/mysql/data
socket=/var/mysql/data/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
interactive_timeout=3000
wait_timeout=3000
character-set-server=utf8
collation-server=utf8_general_ci
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
# log-error=/var/log/mariadb/mariadb.log
# pid-file=/var/run/mariadb/mariadb.pid
log-error=/var/log/mysql/mysql.log
pid-file=/var/mysql/data/mysql.pid
[client]
socket=/var/mysql/data/mysql.sock
7、创建日志目录:
cd /var/log
mkdir mysql
chown -R mysql:mysql ./mysql/
8、配置系统启动后自动启动mysqld
cd /usr/local/mysql/
sudo cp support-files/mysql.server /etc/init.d/mysqld
sudo chmod 755 /etc/init.d/mysqld
9、修改/etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/var/mysql/data
10、设定开机启动,并启动
chkconfig --add mysqld
chkconfig mysqld on
sudo service mysqld start
11、密码修改和授权远程访问等
使用初始密码登录mysql
./bin/mysql -uroot -p
使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx‘修改密码(注意符号为英文格式的)
12、其他设置
设置sql_mode
SELECT @@GLOBAL.sql_mode
SELECT @@SESSION.sql_mode;
SET GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
SET SESSION sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';