环境: CentOS7.2
本人采用源码方式安装
-----------------------------------------------------------------------------------------------------------------------
一、源码方式安装
MysqL下载地址:http://mirrors.sohu.com/MysqL/ (文件为:mysql-5.6.36.tar)
二、安装MysqL依赖包
yum install cmake
yum install ncurses-devel libaio-devel
#有网友采用源码包的方式安装cmake的,但比较复杂,因此一般建议选择简单的yum安装方法。
rpm -e --nodeps MysqL #检查是否安装过MysqL
whereis MysqL
三、建立MysqL用户账号
useradd -s /sbin/nologin -M MysqL #<==默认会创建和MysqL用户同名的组。
mkdir /usr/local/MysqL
mkdir /usr/local/MysqL/data
mkdir /usr/local/MysqL/tmp/
chown -R MysqL:MysqL /usr/local/MysqL
#执行cmake编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/MysqL \
-DMysqL_DATADIR=/usr/local/MysqL/data \
-DMysqL_UNIX_ADDR=/usr/local/MysqL/tmp/MysqL.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMbedDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
(题外话:编译好漫长啊,我在这等了好久,可能是我配置问题吧,cpu和内存大的朋友可能会很快的。)
make #记得是在解压目录运行
make install
cp /etc/my.cnf /etc/my.cnf.bak
# 在CentOS 6.8版操作系统最小化安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,
如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MysqL的正确配置,造成无法启动。
四、初始化数据库(如失败可删除/usr/local/MysqL/data文件)
/usr/local/MysqL/scripts/MysqL_install_db --user=MysqL --basedir=/usr/local/MysqL/ \
--datadir=/usr/local/MysqL/data
五、其它一些配置设置
ln -s /usr/local/MysqL/support-files/MysqL.server /etc/init.d/MysqLd
chkconfig --add MysqLd
echo 'export PATH=/usr/local/MysqL/bin:$PATH'>>/etc/profile
source /etc/profile
#<==执行source使上一行添加到/etc/profile中,内容直接生效
ln -s /usr/local/MysqL/bin/* /usr/local/sbin/
#提示:更简单的设置方法为用下面命令做软链接:ln -s /application/MysqL/bin/* /usr/local/sbin/,把MySQL命令所在路径链接到全局路径/usr/local/sbin/的下面。
六:MysqL一些设置
(1)实现远程连接(授权法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到MysqL服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;将权限改为ALL PRIVILEGES
MysqL> use MysqL;
Database changed
MysqL> grant all privileges on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)
MysqL> flush privileges;
Query OK, 0 rows affected (0.00 sec)
(2) 用SET PASSWORD命令
首先登录MysqL。
格式:MysqL> set password for 用户名@localhost = password('新密码');
例子:MysqL> set password for root@localhost = password('123');
MysqL刷新权限命令:FLUSH PRIVILEGES;(一般用于数据库用户信息更新后)
遇到问题重启机器可能会解决!!!
七、my.cnf配置
vim /etc/my.cnf
-------------------------------------------------
[MysqLd]
basedir=/usr/local/MysqL
datadir=/usr/local/MysqL/data
port=3380
server_id=1
socket=/usr/local/MysqL/MysqL.sock
user=MysqL
[client]
socket=/usr/local/MysqL/MysqL.sock
[MysqL]
socket=/usr/local/MysqL/MysqL.sock
-------------------------------------------------
which MysqLd
/usr/local/MysqL/bin/MysqLd --verbose --help |grep -A 1 'Default options'
#命令来查看MysqL使用的配置文件默认路径,(注意红色标注的是通过步骤1的命令获取到的MysqL安装目录路径)
cp -r /usr/local/MysqL/support-files/my-default.cnf /etc/my.cnf
#拷贝配置文件到/etc下面
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。