一、前言
之前安装 mysql
服务一直在windows
环境下完成的。这次换到CentOS环境下,遇到好多坑,总结了一下整个安装过程,最终有了这篇文章的出现。
二、安装Mysql
开始从官网下载mysql安装文件。这里下载的是Linux通用版,如果需要下载其他版本可以跳到下面的网址
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
cd /opt wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz
先把下载的文件解压缩
tar -zxvf mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz
重命名,并且放到/usr/local
目录下
mv mysql-5.6.44-linux-glibc2.12-x86_64 /usr/local/mysql
新建用户组,并新建用户分配所在组
# 新建mysql用户组 groupadd mysql # 新建mysql用户并增加到mysql用户组 useradd -g mysql mysql
文件夹授权
cd /usr/local/mysql chown -R mysql:mysql ./
编辑mysql配置文件,默认路径/etc/my.cnf
,如果文件没找到,可以先执行下面的初始化操作,然后再返回来修改这个配置。
vim /etc/my.cnf
把下面内容替换上去,并保存
[mysqld] port = 3306 basedir = /usr/local/mysql socket = /tmp/mysql.sock datadir = /data/mysql tmpdir = /tmp log-error = /data/mysql/error.log pid-file = /data/mysql/mysql.pid user = mysql key_buffer_size = 64M max_allowed_packet = 10G table_open_cache = 256 sort_buffer_size = 1M net_buffer_length = 8K read_buffer_size = 1M read_rnd_buffer_size = 512K myisam_sort_buffer_size = 16M thread_cache_size = 32 query_cache_size = 32M tmp_table_size = 64M skip-grant-tables [mysqldump] quick max_allowed_packet = 16M
创建数据所在目录并把文件所属用户组设置为mysql
mkdir -p /data/mysql chown -R mysql:mysql /data/mysql
mysql
初始化操作,如果已经已经初始化过了,最好在修改好配置后再重新初始化,保证mysql
能成功运行。
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid --tmpdir=/tmp
初始化过程中如果出现下面的错误:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper
请先运行下面命令安装autoconf
yum -y install autoconf
初始化完成之后,可以设置环境变量
export PATH=$PATH:/usr/local/mysql/bin/
再配置开机启动
cd /usr/local/mysql vi ./support-files/mysql.server
需要把basedir
、datadir
两个参数修改成下面示例
basedir=/usr/local/mysql datadir=/data/mysql
把mysql
服务启动脚本拷贝到系统的启动目录
cp ./support-files/mysql.server /etc/init.d/mysql.server
全部步骤走完之后,就可以正常启动mysql
了
# 启动命令 ./support-files/mysql.server start # 停止命令 ./support-files/mysql.server stop # 重启命令 ./support-files/mysql.server restart
三、修改root密码
调过密码登录到mysql
mysql -uroot -p
默认是没有密码的,直接回车。进入到mysql
命令台后执行下面更新语句设置root
的密码xxx
(自行修改)
update mysql.user set password = password('xxx') where user = 'root';
修改成功后再把my.cnf配置改回密码验证登录模式。
#注释掉这一句 #skip-grant-tables
保存,重启mysql,再次登录时,就需要密码了。