MySQL源码安装、配置、初始化及启动
主机环境RedHat6.5 64位
实验环境服务端 ip 172.25.29.1 mysql
安装包 mysql-boost-5.7.11.tar.gz
cmake-2.8.12.2-4.el6.x86_64.rpm
1.mysql的源码安装
1.解压压缩包
[root@server1 mnt]# tar zxfmysql-boost-5.7.11.tar.gz #解压gz包
[root@server1 mnt]# yum installcmake-2.8.12.2-4.el6.x86_64.rpm -y #安装cmake
[root@server1 mnt]# cd mysql-5.7.11/
2.软件配置
[root@server1 mysql-5.7.11]# cmake-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \ #安装路径
>-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \ #数据库存放路径
> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock\ #Unix socket 文件路径
> -DWITH_MYISAM_STORAGE_ENGINE=1\ #安装myisam 存储引擎
> -DWITH_INNOBASE_STORAGE_ENGINE=1\ #安装innodb 存储引擎
> -DDEFAULT_CHARSET=utf8 \ #使用utf8 字符
>-DDEFAULT_COLLATION=utf8_general_ci \ #校验字符
> -DEXTRA_CHARSETS=all \ #安装所有扩展字符集
> -DWITH_BOOST=boost/boost_1_59_0/ #boost的指定路径
如果出现如下错误
[root@server1 mysql-5.7.11]# rm -frCMakeCache.txt #清空缓存文件
[root@server1 mysql-5.7.11]# yuminstall ncurses-devel gcc-c++ -y #安装上图需要的软件包
#####注意:重新加载配置之前,一定要清空缓存文件
重新配置
[root@server1 mysql-5.7.11]# cmake-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all-DWITH_BOOST=boost/boost_1_59_0/
[root@server1 mysql-5.7.11]# yuminstall bison -y #系统可以跳过warning错误,此步骤可有可无
3.编译、链接、安装
[[email protected]]# make #编译,链接,生成可执行文件
[[email protected]]# make install #安装
2.mysql的简单配置
1.添加mysql的用户和用户组
[[email protected]]# cd /usr/local/lnmp/mysql/
为了安全起见,可以创建专门的mysql用户和用户组,用来启动和关闭数据库,避免了用root用户启动数据库
[root@server1mysql]# useradd -u 27 -M -d/usr/local/lnmp/mysql/data -s /sbin/nologin mysql #创建mysql用户
[root@server1mysql]# id mysql
uid=27(mysql)gid=901(mysql) groups=901(mysql)
[root@server1mysql]# groupmod -g 27 mysql
[root@server1mysql]# id mysql
uid=27(mysql)gid=27(mysql) groups=27(mysql)
[root@server1mysql]# chown mysql.mysql . -R #修改mysql目录下文件的权限
2.添加配置文件、启动脚本、环境变量
[root@server1mysql]# cp /etc/my.cnf /mnt/ #备份my.cnf
[root@server1mysql]# cd support-files/
[root@server1support-files]# cp my-default.cnf /etc/my.cnf #服务器配置文件
cp:overwrite `/etc/my.cnf'? y
[root@server1support-files]# cp mysql.server /etc/init.d/mysqld #添加mysql启动命令
[root@server1support-files]# cd ..
[root@server1mysql]# cd bin/
[root@server1bin]# pwd
/usr/local/lnmp/mysql/bin
[root@server1bin]# vim /root/.bash_profile #将mysql添加到系统的环境变量里
10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin
[root@server1bin]# source /root/.bash_profile #刷新环境变量文件
[root@server1bin]# echo $PATH #查看mysql添加到环境变量
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/local/lnmp/mysql/bin
[root@server1bin]# which mysql #测试
/usr/local/lnmp/mysql/bin/mysql
3.Mysql的初始化及一些设置
[root@server1~]# mysqld --initialize--user=mysql #初始化mysql
[root@server1bin]# cd /usr/local/lnmp/mysql/
[root@server1~]# chown root . -R #改回权限
[root@server1mysql]# chown mysql data/ -R
[root@server1~]# /etc/init.d/mysqld start #启动mysql
StartingMySQL. SUCCESS!
[root@server1 ~]# mysql -p #登陆mysql
Enterpassword: #密码是上一个截图里最后的QV>6!r4LCyjw
运行mysql_secure_installation会执行几个设置:
a)为root用户设置密码
b)删除匿名账号
c)取消root用户远程登录
d)删除test库和对test库的访问权限
e)刷新授权表使修改生效
[root@server1data]# mysql_secure_installation