准备工作:(root用户下操作)
1、检查系统中是否已经安装了MySQL和MariaDB(MariaDB数据库是MySQL数据库的一个分支,一般CentOS 7系统中会默认安装该数据库)
yum list installed | grep mysql (检查是否有安装mysql)
yum list installed | grep mariadb (检查是否有安装mariadb )
同时删除/etc/目录下的my.cnf文件:
rm –rf /etc/my.cnf
2、安装依赖包
①、检查系统中是否已经安装了libaio依赖包 (CentOS 7系统中会默认安装):
yum list installed | grep libaio
如果没有安装该依赖包,则进行安装:
yum install libaio
②、检查系统中是否已经安装libnuma依赖包(MySQL 5.7.19及以上版本还需要安装libnuma依赖包):
yum list installed | grep numactl
如没有安装,可使用以下命令进行安装:
yum install numactl
下载
官网下载地址:https://dev.mysql.com/downloads/mysql/
点击Download 下载
方法① 有oracle账号的可以Login 登录,没有账号的可以注册或者直接开始下载,登录后下载速度会比不登录快点。
方法② 右击上图中的No thanks,just start my download,选择 复制链接地址,获取到下载地址https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
安装
1、登录linux服务器,①:将下载的mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz 压缩包包放到待安装目录。
②:进入到待安装目录 执行命令:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
2、解压 mysql压缩,包执行命令:
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
3、修改文件名,执行命令:
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql
4、创建系统账户 mysql,执行命令:
useradd -r mysql(可以用id mysql 查看账户和组信息)
cd进入mysql 修改账户权限,执行命令:
chown -R mysql:mysql ./ (可用ls -la查看目录拥有者)
5、cd 进入mysql目录,安装mysql数据库,执行 初始化参数 命令:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
出现 bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
错误原因:缺少 numactl
解决办法:执行命令:yum -y install numactl 就可以解决,如果还是不行那就说明 yum 默认安装的libnuma.so.1是32的,但db2需要的是64位的,解决办法:①、如果已经安装了libnuma.so.1,先执行命令删除现有的:yum remove libnuma.so.1 ②、执行命令重新安装64位的:yum -y install numactl.x86_64
成功后会生成一个初始密码,注意复制出这个初始密码。
6、创建RSA private key,安装SSL,执行命令:(会在data_dir目录下生成以下pem文件,这些文件就是用于启用SSL功能的)
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
cd进入mysql 修改data目录拥有者,执行命令:
chown -R mysql:mysql data
7、配置mysql的my.cnf配置文件 (复制下面内容到my.cnf即可)
[client]
port = 3306
default-character-set=utf8
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
配置mysql服务,执行命令:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
编辑 /etc/init.d/mysqld文件,执行命令:(添加basedir和datadir路径)
vim /etc/init.d/mysqld
8、启动mysql,执行命令:(成功会提示SUCCESS)
service mysqld start
登录mysql,执行命令:
./mysql -uroot -p
输入初始密码
修改密码,执行语句:
set password=password('root123');
9、设置远程访问,执行语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '访问密码';
#刷新权限
flush privileges;
10、开放端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
11、设置开机自动启动
chkconfig --list #查看自动启动服务列表
chkconfig --add mysql #添加mysql服务到自启服务
chkconfig mysql on #设置自动启动
12、设置环境变量(将mysql/bin目录设置到环境变量中)
vim /etc/profile #编辑配置文件
# mysql environment
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
source /etc/profile #更新环境变量
大功告成。