linux mysql 安装(详解)

准备工作:1.确认没有使用RPM安装过MySQL-server(服务端) mysql(客户端)
2.安装光盘自带的ncurses-devel包
3.安装cmake包
Cmake编译安装: tar zxf cmake-2.8.6.tar.gz -C /usr/src
cd /usr/src/cmake-2.8.6 ./configure gmake &&gmake install
然后编译安装mysql
前提先创建运行账户 groupadd mysql 先创建一个私有组
Useradd -M -s /sbin/nologin -g mysql mysql 指定使用的shell 这个shell 不需要直接登陆到系统 -M不给账户分配宿主目录 -g 给用户指定私有组 最后创建一个账户名为mysql
然后开始解压mysql的源代码包 tar zxf mysql-5.6.36.tar.gz -C /usr/src
cd /usr/src/mysql-5.6.36
然后开始配置,mysql和其他源代码包不一样 他需要用cmake来配置 其他需要的是./configure 而mysql内并没有./configure
配置命令:cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定mysql程序安装到哪个目录 一般安装在/usr/local/mysql
-DSYSCONFDIR=/etc 指定配置文件的目录 my.cnf
-DDEFAULT_CHARSET=utf8 指定使用的字符集编码
-DDEFAULT_COLLATION=utf8_general_ci 指定校对规则 utf8_general_ci 是适用于utf8字符集的通用规则
-DWITH_EXTRA_CHARSETS=all 指定额外支持的其他字符集编码 all为支持所有
然后 编译并安装 make && makeinstall
安装后还需要调整
先对数据库的目录进行权限调整 chown -R mysql:mysql /usr/local/mysql
-R 表示将设置的属主和属组递归下去 将下层所有目录也递归 先属主后属组
然后建立配置文件 本来随着他的安装成功 已经在/etc/my.cnf 有了配置文件 但是centos 7默认支持的是maria db 数据库 而不是mysql数据库 因此其配置文件是maria db的配置文件 而非mysql的 我们可以去mysql源码目录内的support-files 文件下 将mysql默认的样本配置文件my-default.cnf 文件替换过来 命令如下
先将原来的删除 rm -rf /etc/my.cnf 然后复制 cp support-files/my-default.cnf /etc/my.cnf
复制完成之后我们就有了mysql 的配置文件 然后开始初始化数据库
使用初始化脚本mysql_install_db
/usr/local/mysql/scripts/mysql_install_db
--user=mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--user 指定以什么用户去执行脚本 mysql
--basedir 执行脚本的目录 /usr/local/mysql
--datadir 指定数据存放的目录 /usr/local/mysql/data
Mysql 每个表内有三个文件类型 .frm:保存表结构的 .myd:保存表数据的 *.myi:保存表索引的
初始化结束之后 为了方便在任何目录下使用mysql命令 需要在/etc/profile 设置环境变量
echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
设置完之后并不会立即生效 使用命令 ./etc/profile 使其立即生效
这个时候我们使用systemctl是无法进行管理服务的 需要使用support-files下的mysql.server脚本文件将其复制到mysql的bin目录下使用并改名为mysql.sh
cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
然后现在其他用户若是想启动服务没有权限 所以还要分配权限
chmod +x /usr/local/mysql/bin/mysqld.sh
然后创建mysql系统服务的配置文件 vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql

Type =forking
PIDFile=/usr/local/mysql/data/www.pid 指定pid文件位置 主机名.picl
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop

[Install]
WantedBy=multi-user.target
现在我们就可以通过 systemctl start mysqld启动
netstat -anpt 查看服务器端口号
mysqld 的端口号是TCP的3306
永久修改主机名 可以通过 hostnamectl set-hostname 来修改

转载于:https://blog.51cto.com/14305960/2384744

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值