1、使用wget命令从网上下载MySQL二进制包
[root@localhost ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
2、使用tar命令解压二进制包
[root@localhost ~]# ls
[root@localhost ~]# tar –zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
3、将解压后的软件包移到你想放置的程序安装位置
[root@localhost ~]# mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# ls
bin data include man README share support-files
COPYING docs lib mysql-test scripts sql-bench //软件包里面的内容
4、进入support-files目录下使用cp命令覆盖原来的/etc/my.cnf配置文件(若不覆盖的话启动MySQL式会报错)
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
5、拷贝启动脚本
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld
6、创建用户目录
[root@localhost support-files]#cd /usr/local/mysql
[root@localhost mysql]# useradd mysql -s /sbin/nologin -M
7、初始化数据库
[root@localhost mysql]# cd scripts/
[root@localhost scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
这里有个问题是如果初始化时出错则需打下列命令://安装相关依赖
[root@localhost scripts]# yum install -y autoconf ncurses-devel libaio-devel glib
8、启动MySQL
[root@localhost scripts]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/rhel7-02.err'.
. SUCCESS!
这里可能会出现启动不成功的问题,显示报错信息为
/etc/init.d/mysqld: line 244: my_print_defaults: command not found
/etc/init.d/mysqld: line 264: cd: /usr/local/mysql: No such file or directory
Starting MySQL ERROR! Could't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
报错原因:二进制安装的方法,程序默认的启动文件位置是在/usr/local/下的
当你的软件安装的目录不是在/usr/local下时,需要修改两个地方:
[root@localhost scripts]# sed -i 's#/usr/local#/(你软件的安装目录)#g' /etc/init.d/mysqld /你的安装目录/mysql/bin/mysqld_safe
二进制安装的方式不需要指定mysql.sock文件的安装位置,它自动安装在了/tmp/目录下
[root@localhost scripts]# ll /tmp/
9、添加环境变量
[root@localhost scripts]# vim /etc/profile.d/mysql.sh
文件内容如下:export PATH="/usr/local/mysql/bin:$PATH"
[root@localhost scripts]# source /etc/profile //加载环境变量
10、修改用户登录密码
[root@localhost scripts]# mysqladmin -uroot -p password '123456'
[root@localhost scripts]# mysql -uroot -p123456
可以个人写一个systemd的管理,这样就可使用systemctl命令管理mysqld服务,例如systemctl start mysqld命令启动MySQL服务器。
[root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service
文件内容如下:
[Unit]
Description=MySQL Server
Documentation=man:mysql(8)
Documenttation=https://dev.mysql.com/doc/refman/en/usinng-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000
[root@localhost ~]# ps -ef|grep mysqld
[root@localhost ~]#systemctl start mysqld
[root@localhost ~]#systemctl status mysqld