二进制安装mysql 5.7、mariadb (附yum安装方式)
前言:
本文以mariadb为例进行讲解,安装mysql同理,并以通过测试。安装前查找系统已安装的相关包(rpm -qa|grep -e "mysql" -e "mariadb")并进行卸载。
1、准备mariadb存储数据库文件的目录。
mkdir -p /mydata/datachown mysql:mysql data #如本机没有mysql用户及组需新建系统用户、组例:#groupadd -r -g 306 mysql #如需指定组需先建立组再指定,例 -g 306useradd -r -M -s /sbin/nologin mysql
数据库文件占用内存较大,为保证可扩展性建议放在逻辑卷上。以下为配置逻辑卷过程,不需要的话可跳过下面步骤,直接到第二步。
① 配置逻辑卷分区或新加硬盘
② 创建逻辑卷lv
③ 使用xfs文件系统逻辑卷才能有扩展性,由于Centos 6 默认不支持xfs文件系统需借助软件xfsprogs。
yum install xfsprogs -y #安装xfsprogsmodprobe xfs #加载xfs文件系统驱动mkfs.xfs /dev/myvg/mydata #创建文件系统
④ 挂载xfs文件系统
vim /etc/fstab:r!blkid /dev/myvg/mydata UUID=1a5a90a2-2559-494f-954a-7177911e3535 /mydata xfs defaults 0 0 mount -a
2、配置并安装mariadb
① 去官网下载mariadb二进制安装包https://downloads.mariadb.org/ Centos 6 系统建议安装5版本稳定版就好,不要去安装10以上版本。本文以安装mariadb-5.5.57-linux-x86_64.tar.gz为例。
tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local #解压到/usr/localcd /usr/localln -sv mariadb-5.5.57-linux-x86_64/ mysql #创建软连接chown -R root:mysql mysql/ #递归修改文件属主属组
② 准备配置文件
配置格式:类ini格式,各程序由单个配置文件提供配[prog_name]
配置文件查找次序:后面覆盖前面的配置文件
/etc/my.cnf --> /etc/mysql/my.cnf --> --default-extrafile=/PATH/TO/CONF_FILE --> ~/.my.cnf
mkdir /etc/mysqlcp /usr/local/mysql/support-files/my-large.cnf /etc/mysql/my.cnf #复制模板配置文件到/etc/mysql并改名为my.cnfvim /etc/mysql/my.cnf找到[mysqld]下新增如下配置datadir = /mydata/datainnodb_file_per_table = on #使用innodb引擎,每个表单独一个数据库skip_name_resolve = on #禁止主机名解析,加快速度lower_case_table_names = 1 #忽略表单大小写character-set-server=utf8mb4 #设定默认字符为utf8mb4可选配置示例:basedir = /usr/local/mysql#socket = /tmp/mysql.sock #如自定义socket位置需要在[client]段同时配置,port也要配置。否则可能出错pid-file = /data/mysqldata/mysql.pid[mysqld_safe] #需手动创建logs/error.log并改为mysql属主log-error = /mydata/data/error.log
③ 创建数据库文件
cd /usr/local/mysql #不同版本位置不同,有的在bin目录下scripts/mysql_install_db --user=mysql --datadir=/mydata/data #注意不要进入scripts目录执行,该方法即将被废弃新方法如下 mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql在初始化时如果加上 -initial-insecure,则会创建空密码的 root@localhost 账号,否则会创建带密码的 root@localhost 账号
④ 准备服务脚本并启动服务
cp support-files/mysql.server /etc/init.d/mysqld #复制服务脚本并改名mysqldchkconfig --add mysqldchkconfig mysqld on #设为开机启动
⑤加入可执行路径
vim /etc/profile.d/mysql.shexport PATH=/usr/local/mysql/bin:$PATH . /etc/profile.d/mysql.sh
⑥ 安全初始化
/user/local/mysql/bin/mysql_secure_installation #配置root密码,删除匿名用户等操作
⑦ 准备日志文件并启动服务
touch /var/log/mysqld.logtouch /mydata/data/error.logchown mysql /var/log/mysqld.log chown mysql /mydata/data/error.logservice mysqld start
安装完成!
如遇到错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp
编辑my.cnf
[client]socket = /tmp/mysql.sock #设置与mysqld段中设置的相同或者ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
yum安装方式:
此种方式可安装各版本mysql,在此页面https://dev.mysql.com/downloads/repo/yum/下载对应系统repo文件安装包
例:
centos7 https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
centos6 https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm
下载安装后,到/etc/yum.repos.d/下编辑mysql-community.repo .默认启用的是最新版,编辑把最新版的enabled=0,把想安装的版本改为1即可。之后yum install mysql-server 即可完成安装,如需多次安装可把对应mysql-server包下载下来,然后安装,例yum localinstall mysql-community-server-5.7.23-1.el7.x86_64.rpm