二进制安装MySQL-5.7.28
系统基础优化
#更改主机名 hostname msyql echo "msyql" >/etc/hostname #修改字符集 echo "LANG="zh_CN.UTF-8"" >/etc/locale.conf source /etc/locale.conf #关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service firewall-cmd --state #关闭selinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config setenforce 0 #添加时间同步 echo '#time sync by fage at 2018.10.28' >>/var/spool/cron/root echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root #加大文件描述 echo "* soft nofile 655360" >>/etc/security/limits.conf echo "* hard nofile 655360" >>/etc/security/limits.conf
软件下载地址
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
创建存放安装目录及程序依赖用户下载软件包
mkdir -p /application/tools cd /application/tools useradd -u1010 -s /sbin/nologin -M mysql && id mysql wget -q https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
去除CentOS 7 自带的数据库
rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
解压并移动到指定目录
tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /application/ mv /application/mysql-5.7.28-linux-glibc2.12-x86_64 /application/mysql-5.7.28 ln -sv /application/mysql-5.7.28/ /application/mysql
创建日志和数据存放位置并授权用户
mkdir -p /application/mysql/logs mkdir -p /application/mysql/data/ chown -R mysql.mysql /application/mysql/
初始化数据库,注意初始化的时候会产生数据库root密码:password is generated for root@localhost: y&plm*8fW;7. 具体看实际密码
/application/mysql/bin/mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data/
添加系统环境变量
echo "export PATH=$PATH:/application/mysql/bin" >>/etc/profile source /etc/profile
开启加密连接,开启ssl连接
cd /application/mysql/bin/ && ./mysql_ssl_rsa_setup --datadir=/application/mysql/data/
替换启动文件安装数据库的位置并复制到开机启动路径
sed -i "s#/usr/local/#/application/#g" /application/mysql/support-files/mysql.server cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
配置my.cnf文件参数,这个需要看生产环境具体去优化部分参数
cat >/etc/my.cnf <<EOF [mysqld] user=mysql port=3306 server_id=1 log-bin=/application/mysql/data/mysql-bin character-set-server=utf8 datadir=/application/mysql/data basedir=/application/mysql socket=/tmp/mysql.sock max_allowed_packet = 10M skip_symbolic_links=yes local-infile=0 [mysqldump] quick max_allowed_packet = 16M [mysqld_safe] pid-file=/application/mysql/mysql.pid EOF
启动和添加自启动使用systemd方式进行管理
cat >/usr/lib/systemd/system/mysql.service <<EOF [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql Type=forking TimeoutSec=0 PermissionsStartOnly=true ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 Restart=on-failure RestartPreventExitStartus=1 PrivateTmp=false EOF
启动后进去修改密码
mysql -uroot -pvVjs3qMu>KhT alter user 'root'@'localhost' identified by '123456'; flush privileges;
创建允许远程的用户和授权地址并设置密码
grant all on *.* to root@'192.168.10.%' identified by '123456'; flush privileges;
使劲折腾才会有更好的结果!!!!
如有不对请不吝赐教,感谢!
转载请注明出处!