官网地址 https://dev.mysql.com/downloads/mysql
这里我选择的5.7版本
下载完成后上传到linux服务器
或者
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.27-linux-glibc2.12-x86_64.tar
解压 tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
将解压的复制到 /usr/local/mysql 目录 cp -r mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
添加系统mysql组和mysql用户
添加系统mysql组 groupadd mysql
添加mysql用户 useradd -r -g mysql mysql (添加完成后可用id mysql查看)
安装数据库
切到mysql目录 cd /usr/local/mysql
创建data文件夹mkdir data
修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./
安装数据库 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
安装成功时会给出临时密码,复制保存下来,后面会用
如果这一步报错缺少libnuma, 执行 yum -y install numactl
如果报错bin/mysqld: error while loading shared libraries: libaio.so.1 执行 yum install -y libaio
处理报错后再重新初始化数据
在mysql文件夹执行以下命令创建RSA private key
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
配置my.cnf
vim /etc/my.cnf (直接把下面内容复制上就行)
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写
lower_case_table_names = 1
#不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
添加开机启动 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改 vim /etc/init.d/mysqld
添加路径 在46行
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
启动mysql service mysqld start
加入开机启动 chkconfig --add mysqld
使用临时密码登录 bin/mysql -uroot -p
如果出现错误 需要添加软连接 ln -s /usr/local/mysql/bin/mysql /usr/bin
修改密码
在mysql中执行:
alter user 'root'@'localhost' identified by '${yourpwd}';
flush privileges; #刷新权限
授权'%'允许其他ip连接mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${yourpwd}' WITH GRANT OPTION; #授权新用户