您的位置:首页 > 运维架构 > Linux

centos7上源码安装mysql5.7.11(2)

2018-01-08 14:31 309 查看
Installing MySQL Using a Standard Source Distribution:(使用标准源码方式安装)
 http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html 
MySQL Source-Configuration Options:(源码配置参数说明)
 http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html[/code] 
安装步骤:

# 新增mysql用户及用户组

shell> groupadd mysql

shell> useradd -r -g mysql -s /bin/false mysql
# 进入源码下载目录,解压

shell> tar zxvf mysql-VERSION.tar.gz
# 进入解压后的目录

shell> cd mysql-VERSION
# 进行配置

shell>cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=dir

# 上述内容有必要详细说明一下:

# 1、mysql从某一版本开始(好像是5.7),使用cmake进行配置,而不是./configure

# 2、mysql默认的配置参数一般可正常使用,详见上面的第二个链接,如不需要修改,则不用配置,我们这里只配置默认字符集与默认编码

# 3、mysql5.7.11版本需要使用boost(一个C++程序库),DWITH_BOOST后面需要配置该库的地址,建议直接下载带boost库的mysql源码包

# 开始编译及安装

shell> make && make install
# 清除安装临时文件

shell> make clean

# 备份/etc/my.cnf这个文件,删除掉/etc/my.cnf这个文件:(原因是系统可能原本就存在该文件,为不干扰mysql的正常使用,先删除)

shell> cp /etc/my.cnf /etc/my.cnf.bak

shell> rm -f /etc/my.cnf
# 进入安装目录(默认安装在此目录)

shell> cd /usr/local/mysql
# 更改本目录的主用户及用户组

shell> chown -R mysql .

shell> chgrp -R mysql .
# 初始化

shell> bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 

shell> bin/mysql_ssl_rsa_setup
# 更改本目录的主用户(设为root是为了防止普通用户不小心删除数据库)

shell> chown -R root .
# 更改数据存放目录的主用户

shell> chown -R mysql data
# 复制my.cnf

shell> cp support-files//my-default.cnf /etc/my.cnf
# 官方文档存在这一步,但不明白其用意。我在安装时跳过这一步。

shell> bin/mysqld_safe --user=mysql &
# 复制服务启动脚本

shell> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 编辑PATH搜索路径

shell> vi /etc/profile
# 在profile文件末尾增加两行

PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

export PATH
# 使PATH搜索路径立即生效:

shell> source /etc/profile
# 启动MySQL服务 

shell> service mysql start

# MySQL提示:The server quit without updating PID file问题的解决办法:用命令“ps -A|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
# 设置开机自动启动服务

shell> chkconfig mysql on
# 登录并修改MySQL用户root的密码

shell> mysql -u root

mysql> use mysql; mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";

mysql> flush privileges;

mysql> exit;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: