【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!
1.应用场景:
搭建服务端应用的最原始一步,场景数不胜数,不多说;
文中操作环境:Mac系统操作,CentOS下安装;
2.实现目标:
从0到1使用Mac系统操作,能够在Linux操作系统中完美的搭建起mysql服务,并且能够正常的运转起来。
数据库安全等进阶操作,本篇不会涉及,仅仅是对自己不断踩坑后的一个总结篇,不需要以后用到时在去各种查阅水贴...
3.流程说明:
1、下载Mysql数据库
,这里去官网自己去下载对应系统下的支持版本,假设下载的版本为mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz
,后续流程用这个版本来做演示。
2、将本地文件上传到Linux服务器系统目录下
这里提醒一下:尽量直接安装在/usr/local 目录中,这样在后面的my.cnf环境配置中就可以直接复制粘贴了~~~
终端输入命令:scp (括号内的内容都是注释,真正情况下不需要)
scp /mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz(本地文件路径) root@服务器IP地址:/usr/local(服务器文件路径)
3、链接Linux服务器,进行后续的操作
终端输入命令:ssh
ssh root@服务器IP地址
(回车Enter)
输入链接服务器的密码:
(回车Enter)
链接OK;
/** 雷区:在服务器重装系统或者重启后,如果之前你链接过服务器,可能会出现如下报错:
hostkey verification failed
原因:历史中hostkey已经过期了,更新下即可
*/
//终端输入命令行:
ssh-keygen -R 服务器IP地址 (回车Enter)
//再如上 继续用ssh命令链接即OK.
4.前往第1步上传的对应路径下,执行一系列操作
解压:
4.1 终端依次输入命令行
cd /usr/local/
(回车Enter 前往服务器的路径下)
tar -zxvf mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz
(回车Enter)
mv mysql-5.6.22-linux-glibc2.5-x86_64 mysql
(回车Enter,非必须的操作,这里是给解压完成后的文件夹重命名,避免太长后面操作和配置环境时很别扭~~~)
rm mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz
(回车Enter,非必须)
4.2 创建用户组用户名:
groupadd mysql
(回车Enter)
useradd -r -g mysql mysql
(回车Enter)
5、进入到mysql目录,执行添加MySQL配置的操作(二选一)
cd /usr/local/mysql
(回车Enter)
cp support-files/my-default.cnf /etc/my.cnf
(提醒一下!例子中数据库版本是my-default.cnf,有些版本为my-medium.cnf,So本步中命令行二选一即可)
cp support-files/my-medium.cnf /etc/my.cnf
6、编辑/etc/my.cnf文件
终端输入命令行
vi /etc/my.cnf
(回车Enter)
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data
port = 3306
# server_id = .....
socket = /tmp/mysql.sock
character-set-server = utf8
skip-name-resolve
log-err = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
如果是完全按照本文所述流程的话,可直接复制内容,代替
7、在mysql当前目录下设定目录的访问权限(注意后面的小点,表示当前目录)
终端输入命令行:
cd /usr/local/mysql
(回车Enter 非必须,如当前就在mysql目录下,则可忽略)
chown -R mysql .
(回车Enter)
chgrp -R mysql .
(回车Enter)
scripts/mysql_install_db --user=mysql
(回车Enter,本步报错???莫慌,如果报错的话,执行以下命令:yum -y install autoconf
,完成后继续执行本步~)
chown -R root .
(回车Enter)
chown -R mysql data
(回车Enter)
8、初始化数据
(在mysql/bin或者mysql/scripts下有个 mysql_install_db 可执行文件初始化数据库),进入mysql/bin或者mysql/scripts目录下,终端输入以下命令:
./mysql_install_db --verbose --user=root --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp
(回车Enter)
9、启动mysql
进入/usr/local/mysql/bin目录,终端输入以下命令:
cd /usr/local/mysql/bin
(回车Enter 非必须,只要进入到该目录即可)
./mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --user=root &
(回车Enter)
注意,如果执行命令后,光标停留在屏幕上,表示启动成功,需要我们先关闭shell窗口,再开启一个新的shell窗口,不要执行退出操作。如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题.
10、设置开机启动
新开启shell中断后,进入mysql目录,执行下面命令 :(越过了启动服务的步骤,感觉这样更直接一些)
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
(回车Enter)
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
(回车Enter)
chmod 700 /etc/init.d/mysql
(回车Enter)
chkconfig --add mysqld
(回车Enter)
chkconfig --level 2345 mysqld on
(回车Enter)
chown mysql:mysql -R /usr/local/mysql/
(回车Enter)
接近尾声...重启Linux服务器
终端输入命令:
reboot
(回车Enter)
等待...也可以直接ping 服务器IP地址,查看重启的进度,重启后在利用ssh命令链接Linux服务器
链接后,查看mysql服务状态,输入命令行
service mysqld status
SUCCESS! MySQL running (3481)
11、添加远程访问权限
11.1 添加mysql命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
(回车Enter)
11.2 更改访问权限
登录mysql,执行下面命令
mysql -uroot -p
(回车Enter)
密码为空直接回车,进入mysql,运行以下两条命令
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '用户密码' with grant option;
(回车Enter 注意分号!!!)
Flush privileges;
(回车Enter,注意分号~~~!!!)
11.3 退出mysql
exit
真正的尾声:
重启服务器-完毕
reboot
(回车Enter)
补充部分 (别紧张,与主体流程无关!~)
/**
1、本机访问mysql,root账户默认是没有密码的,
端口号默认3306,如果需要修改root账户密码,
在/usr/local/mysql/bin目录下,执行下面命令
*/
cd /usr/local/mysql/bin //(回车Enter,非必须,你懂得)
./mysqladmin -h 127.0.0.1 -P3306 -u root password '密码' exit
网友评论